title: Why are Moq setup methods missing on my interface?
body: <p>I have the following code, which passes interface into a function which expects a dictionary list of protocol handlers:</p>
  
  <pre><code> var _protocolHandlers = new Dictionary&lt;EmailAccountType, IEmailTransportHandler&gt;
                          {
                              {EmailAccountType.Pop3, new Mock&lt;IEmailTransportHandler&gt;().Object},
                              {EmailAccountType.IMAP, new Mock&lt;IEmailTransportHandler&gt;().Object}
                          };
  </code></pre>
  
  <p>Strange thing is though, that the following code doesn't give me the set-up methods on the mocked object:</p>
  
  <pre><code>_protocolHandlers[0].&lt;where are set-up methods??&gt;
  </code></pre>
  
  <p>It seems to follow the convention with normal interfaces passed into the constructor of a service, as these take interfaces, but they are injected using .Object().</p>
  
  <p>Does anyone have a clue what is going on here?</p>