title: Rhino Mocks - mocking a method whose return value changes (even when passed the same parameter) with multiple calls
body: <p>I'm looking to find out how I can mock a method that returns a different value the second time it is called to the first time. For example, something like this:</p>
  <pre><code>public interface IApplicationLifetime
  {
      int SecondsSinceStarted {get;}
  }
  
  [Test]
  public void Expected_mock_behaviour()
  {
      IApplicationLifetime mock = MockRepository.GenerateMock&lt;IApplicationLifetime&gt;();
  
      mock.Expect(m=&gt;m.SecondsSinceStarted).Return(1).Repeat.Once();
      mock.Expect(m=&gt;m.SecondsSinceStarted).Return(2).Repeat.Once();
  
      Assert.AreEqual(1, mock.SecondsSinceStarted);
      Assert.AreEqual(2, mock.SecondsSinceStarted);
  }
  </code></pre>
  <p>Is there anything that makes this possible? Besides implementing a sub for the getter that implements a state machine?</p>