I've started to read "The art of unit testing" and I'm trying to implement this piece of code:
[Test]
public void ReturnResultsFromMock()
{
    MockRepository mocks = new MockRepository();
    IGetResults resultGetter = mocks.DynamicMock<IGetResults>();
    using(mocks.Record())
     {
        resultGetter.GetSomeNumber("a");//#1
        LastCall.Return(1);
        resultGetter.GetSomeNumber("a");//#2 how it should work?
        LastCall.Return(2);
        resultGetter.GetSomeNumber("b");
        LastCall.Return(3);
    }
    int result = resultGetter.GetSomeNumber("b");
    Assert.AreEqual(3, result);
    int result2 = resultGetter.GetSomeNumber("a");
    Assert.AreEqual(1, result2);
    int result3 = resultGetter.GetSomeNumber("a");
    Assert.AreEqual(2, result3);
}
I get this error message after running my test AOUT.Loga.Tests.LogAnalyzerTest.ReturnResultsFromMock: Expected: 2 But was: 1