title: All invocation on the mock must have a corresponding setup when setting string parameter
body: <p>I have a simple method I am testing. When I run the test I get the error </p>
  
  <blockquote>
    <p>"All invocation on the mock must have a corresponding setup" </p>
  </blockquote>
  
  <p>on the last line </p>
  
  <pre><code>dataField.DefaultValue = orderNumber.ToString();
  </code></pre>
  
  <p>What would cause this? </p>
  
  <p>I am just setting a field.</p>
  
  <pre><code>void IUtilities.SetOrderIdInDocumentMetaData(Document document, int orderNumber)
  {
      DataField dataField = null;
      if (document.DataFields.IsPresent(ORDER_ID) == false)
      {
          dataField = document.DataFields.Add(ORDER_ID, AppDefault: false, DocDefault: false);
      }
      else
      {
          dataField = document.DataFields[ORDER_ID];
      }
  
      dataField.DefaultValue = orderNumber.ToString();
  }
  </code></pre>
  
  <p>This is my unit test code.</p>
  
  <pre><code>[TestMethod]
  public void Utilities_SetOrderIdInDocumentMetaData_SetNew()
          {
      string orderNumber = "1";
      int orderId = 1;
  
      corelDocument
          .Setup(s =&gt; s.DataFields.IsPresent(ORDER_ID))
          .Returns(false);
  
      corelDocument
          .Setup(s =&gt; s.DataFields.Add(ORDER_ID, null, false, false, false))
          .Returns(corelDataField.Object);
  
      corelDataField
          .Setup(s =&gt; s.DefaultValue)
          .Returns(orderNumber);
  
      Utilities.SetOrderIdInDocumentMetaData(corelDocument.Object, orderId);
  
      Assert.AreEqual(orderNumber, corelDataField.Object.DefaultValue);
  }
  </code></pre>