title: Rhino Mocks constraints and Dictionary parameters
body: <p>How would you check the parameters on a function that accepts a Dictionary?</p>
  
  <pre><code>IDictionary&lt;string, string&gt; someDictionary = new Dictionary&lt;string, string&gt; {
    {"Key1", "Value1"},
    {"Key2", "Value2"}
  };
  
  Expect.Call(delegate {someService.GetCodes(someDictionary);}).Constraints(...);
  </code></pre>
  
  <p>Basically, I want to verify that the parameter for GetCodes has the same values as the variable "someDictionary".</p>
  
  <p>I forgot to mention that the method being tested builds the dictionary and passes that to the someService.GetCodes() method.</p>
  
  <pre><code>public void SomeOtherMethod() {
    IDictionary&lt;string, string&gt; dict = new Dictionary&lt;string, string&gt; {
      {"Key 1", "Value 1"},
      {"Key 2", "Value 2"}
    };
  
    someService.GetCodes(dict); // This would pass!
  
    IDictionary&lt;string, string&gt; dict2 = new Dictionary&lt;string, string&gt; {
      {"Key 1", "Value 1a"},
      {"Key 2a", "Value 2"}
    };
  
    someService.GetCodes(dict2); // This would fail!
  
  }
  </code></pre>
  
  <p>so, I want to make sure the dictionary passed to the GetCodes method contain the same ones as the one specifed in the Expect.Call... method. </p>
  
  <p>Another use case would be that maybe I just want to see if the keys of the dictionary contain "Key 1" and "Key 2", but don't care about the values... Or the othe rway around.</p>