title: Moq: Specifying return values as part of expectations
body: <p>I'm new to Moq and learning.</p>
  
  <p>I need to test that a method returns the value expected. I have put together a noddy example to explain my problem. <strong>This fails miserably with:</strong></p>
  
  <blockquote>
    <p>"ArgumentException: Expression is not a method invocation: c => (c.DoSomething("Jo", "Blog", 1) = "OK")"</p>
  </blockquote>
  
  <p>Can you correct what I am doing wrong?</p>
  
  <pre><code>[TestFixtureAttribute, CategoryAttribute("Customer")]
  public class Can_test_a_customer
  {
      [TestAttribute]
      public void Can_do_something()
      {
          var customerMock = new Mock&lt;ICustomer&gt;();
  
          customerMock.Setup(c =&gt; c.DoSomething("Jo", "Blog", 1)).Returns("OK");
  
          customerMock.Verify(c =&gt; c.DoSomething("Jo", "Blog", 1)=="OK");
      }
  }
  
  public interface ICustomer
  {
      string DoSomething(string name, string surname, int age);
  }
  
  public class Customer : ICustomer
  {
      public string DoSomething(string name, string surname, int age)
      {
          return "OK";
      }
  }
  </code></pre>
  
  <p>In a nutshell: if I wanted to test a method like the one above, and I know that I am expecting back an "OK", how would I write it using Moq?</p>
  
  <p>Thanks for any suggestions.</p>