RhinoMocks — имитация метода, возвращаемое значение которого изменяется (даже при передаче одного и того же параметра) при нескольких вызовах

Я пытаюсь выяснить, как я могу смоделировать метод, который возвращает другое значение при втором вызове в первый раз. Например, что-то вроде этого:

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);
}

Есть ли что-то, что делает это возможным? Помимо реализации подпрограммы для геттера, реализующего конечный автомат?

Приветствую вас, ребята,

Alex

21
задан AlexC 23 May 2012 в 16:17
поделиться