title: FakeItEasy assert that method call to method
body: <p>I have an unit-test written with <em>FakeItEasy v2.2.0</em>.</p>
  
  <p>The test tests that a method, let call it <code>MethodA</code> call to <code>MethodB</code>.</p>
  
  <p>The simple class:</p>
  
  <pre><code>public class Foo
  {
      public virtual void MethodA()
      {
          MethodB();
      }
  
      public virtual void MethodB() { }
  }
  </code></pre>
  
  <p>The simple test:</p>
  
  <pre><code>var foo_fake = A.Fake&lt;Foo&gt;(options =&gt; options.CallsBaseMethods());
  
  foo_fake.MethodA();
  
  A.CallTo(() =&gt; foo_fake.MethodA()).MustHaveHappened()
      .Then(A.CallTo(() =&gt; foo_fake.MethodB()).MustHaveHappened());
  </code></pre>
  
  <p>With <em>FakeItEasy</em> <strong>2.2.0</strong>, the code passed.</p>
  
  <p>But when we upgrade to <strong>5.1.0</strong>, the code throw exception that says:</p>
  
  <blockquote>
    <p>The calls were found but not in the correct order among the calls</p>
  </blockquote>
  
  <p>When we say <strong>the method is called</strong>? At the start of execution, or at the end?</p>
  
  <p>Or, what is the right way to test this case?</p>