title: Unit testing of child classes
body: <p>Say we have this hyper simple class hierchy:</p>
  
  <pre><code>public class SomeMath
  {
      public int Add(int x, int y)
      {
          return x + y;
      }
  }
  
  public class MoreMath : SomeMath
  {
      public int Subtract(int x, int y)
      {
          return x - y;
      }
  }
  </code></pre>
  
  <p>Should I write tests for the <code>Add</code> method when I write tests for the <code>MoreMath</code> class? Or should I only care about that method when I am testing the <code>SomeMath</code> class? More generally: Should I test all methods of a class, or should I only test "new" methods?</p>
  
  <p>I can kind of come up with some reasons for both sides. For example, when testing all methods you will end up testing the same thing more than once, which is not so good and can become tedious. But if you don't test all methods, a change in <code>SomeMath</code> might break usages of <code>MoreMath</code>? Which would kind of be a bad thing too. I suppose it probably depends a bit on the case too. Like if it extends a class I have control over or not. But anyways, I'm a total test newbie, so I am curious to know what people smarter than I think about this :-)</p>