title: What is the difference between TypeOf and InstanceOf in NUnit?
body: <p>In <code>NUnit</code>, what is the difference between <code>Is.TypeOf</code> and <code>Is.InstanceOf</code>?</p>
  
  <p>In the following example, I've notice that they are both return true:</p>
  
  <pre><code>public class Foo
  {
      public Boo GetBoo()
      {
          return new Boo();
      }
  }
  
  public class Boo { }
  </code></pre>
  
  <p>And the <code>NUnit</code> test method:</p>
  
  <pre><code>[Test]
  public void GetBoo_WhenCalled_ReturnBoo
  {
      var foo = new Foo();
      var result = foo.GetBoo();
  
      Assert.That(result, Is.TypeOf&lt;Boo&gt;()); //return true
      Assert.That(result, Is.InstanceOf&lt;Boo&gt;()); //return true
  }
  </code></pre>