title: Default behavior for mock inherited from object instance
body: <p>I'm wondering if it's possible the following approach to create a mock which would have behavior inherited from an actual instance:</p>
  
  <pre><code>[TestFixture]
  public class Tests
  {
      [Test]
      public void DoTest()
      {
          A realA = new A();
          Mock&lt;IA&gt; aMock = CreateMockBasedOnRealA(); ///???
  
          Assert.That(aMock.Object.Do(1, 2), Is.EqualTo(3));
      }
  }
  
  public sealed class A : IA
  {
      public int Do(int a, int b)
      {
          return a + b;
      }
  }
  
  public interface IA
  {
      int Do(int a, int b);
  }
  </code></pre>
  
  <p>If the A class weren't sealed it would be possible to create a mock based on the class itself, however, I will not be able to mock Do method because it's not virtual, so I'd do something like this:</p>
  
  <pre><code>[Test]
  public void DoTest()
  {
      A realA = new A();
      Mock&lt;IA&gt; aMock = new Mock&lt;IA&gt;(MockBehavior.Strict);
      aMock.Setup(a =&gt; a.Do(It.IsAny&lt;int&gt;(), It.IsAny&lt;int&gt;())).Returns((int a, int b) =&gt; realA.Do(a, b));
      Assert.That(aMock.Object.Do(1, 2), Is.EqualTo(3));
  }
  </code></pre>
  
  <p>But then if my class has tens methods like Do and bunch of properties I will have to have a separate setup for each of them.</p>
  
  <p>Is there any shortcut for the stuff above?</p>