RhinoMocks - Verspotten einer Methode, deren Rückgabewert sich bei mehreren Aufrufen ändert (auch wenn derselbe Parameter übergeben wird)

Ich möchte herausfinden, wie ich eine Methode verspotten kann, die einen anderen Wert zurückgibt, wenn sie zum ersten Mal aufgerufen wird. Zum Beispiel so etwas:

public interface IApplicationLifetime
{
    int SecondsSinceStarted {get;}
}

[Test]
public void Expected_mock_behaviour()
{
    IApplicationLifetime mock = MockRepository.GenerateMock<IApplicationLifetime>();

    mock.Expect(m=>m.SecondsSinceStarted).Return(1).Repeat.Once();
    mock.Expect(m=>m.SecondsSinceStarted).Return(2).Repeat.Once();

    Assert.AreEqual(1, mock.SecondsSinceStarted);
    Assert.AreEqual(2, mock.SecondsSinceStarted);
}

Gibt es irgendetwas, das dies möglich macht? Neben der Implementierung eines Sub für den Getter, der eine Zustandsmaschine implementiert?

Prost Jungs,

Alex

Antworten auf die Frage(3)

Ihre Antwort auf die Frage