title: Mocking Guid.NewGuid()
body: <p>Suppose I have the following entity:</p>
  
  <pre><code>public class User
  {
      public int Id { get; set; }
      public string Username { get; set; }
      public Guid UserGuid { get; set; }
      public Guid ConfirmationGuid { get; set; }
  }
  </code></pre>
  
  <p>And the following interface method:</p>
  
  <pre><code>void CreateUser(string username);
  </code></pre>
  
  <p>Part of the implementation should create two new GUIDs: one for <code>UserGuid</code>, and another for <code>ConfirmationGuid</code>.  They should do this by setting the values to <code>Guid.NewGuid()</code>.</p>
  
  <p>I already have abstracted Guid.NewGuid() using an interface:</p>
  
  <pre><code>public interface IGuidService
  {
      Guid NewGuid();
  }
  </code></pre>
  
  <p>So I can easily mock this when only one new GUID is needed.  But I'm not sure how to mock two different calls to the same method, from within one method, such that they return different values.</p>