The problem is the following:
You specify Calls the the mock, lets say:
- foo(A)
- foo(B)
You'r application calls actually:
- foo(B)
- foo(C)
so what's actually wrong? If it was a dynamic mock (the common case),
the call foo(C) is allowed. So there is only one call missing, RM says
that the expected call to foo(A) did not happen.
What you probably expect is that RM says that the call to foo had an
argument C instead of A.
I implemented a "AssertArguments" patch, but it never went to the
trunk. You could say, if foo is called, it should assert that the
argument is A. Then RM can tell you that A has been expected and B has
been passed.