Suppose you are writing a method in a new class.
          You are also writing unit test cases to demonstrate that this
          method works correctly. You know you have written enough test cases
          to demonstrate the method works as desired when?
        You have written separate test cases for each
          identifiable "group" of input values and/or output values where the
          behavior is expected to be similar.
        
        - You have written at least one test case that uses the method.
- You have written at least one test case for every input value
          that can be given to the method.
- You have written at least one test case for every output
          value that can be produced by the method.
- You have written at least one test case for every input/output
          value combination that can be given to/produced by the method.
        
        checking just one input our output is insufficient for methods
        that do anything sophisticated