title: RhinoMock : How to Stub and Return a method with complex object as parameter
body: <p>I highly appreciate anyone can help me in below-mentioned issue:
  I've been using RhinoMock in Unit Test.
  I define my mock object in such manner, with sessionToken is string-typed:</p>
  
  <pre><code>mockRepository.Stub(repository =&gt; repository.FindById(sessionToken)).Return(new DeviceTypeRepository().NewTable(false));
  </code></pre>
  
  <p>It's ok for the code section when calling <strong>FindById()</strong> to return the <strong>valid</strong> new new DeviceTypeRepository().NewTable(false);</p>
  
  <p>However, when include a complex parameter as object, such as a DataTable, into the Stub as below:</p>
  
  <pre><code>mockRepository.Stub(repository =&gt; repository.Find(sessionToken, dataTable)).Return(new DeviceTypeRepository().NewTable(false));
  </code></pre>
  
  <p>Then the code section in which <strong>Find()</strong> is invoked, it does <strong>NOT</strong> return expected new DeviceTypeRepository().NewTable(false).
  Notice that input value of parameter dataTable is the same in both Stub and in Find() invocation.</p>
  
  <p>Hence, my question is:
  How could I implement such parameter (DataTable typed and more generally) into Stub initialization using RhinoMock ? I'd be grateful to any advice and approach.
  Thanks</p>