RhinoMocks - zombando de um método cujo valor de retorno é alterado (mesmo quando passado o mesmo parâmetro) com várias chamadas
Eu estou olhando para descobrir como eu posso zombar de um método que retorna um valor diferente na segunda vez que é chamado para a primeira vez. Por exemplo, algo como isto:
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);
}
Existe alguma coisa que torne isso possível? Além de implementar um sub para o getter que implementa uma máquina de estados?
Felicidades,
Alex