title: Unit testing - same method but for different test data
body: <p>This is pretty basic question around unit testing.</p>
  
  <p>I have a method e.g. GetOrderDetails which calls a Repository to fetch order details. I have a mock repository which can be setup to return stock responses.</p>
  
  <p>For testing GetOrderDetails method, I'll at least use the following cases -</p>
  
  <p><strong>Repository call fails</strong></p>
  
  <ol>
  <li>with an error code</li>
  <li>with an Exception </li>
  </ol>
  
  <p><strong>Repository call succeeded</strong></p>
  
  <ol>
  <li>returned zero result</li>
  <li>returned one result</li>
  <li>returned more than one result</li>
  </ol>
  
  <p>Should I be writing a single Test method to test above scenarios or should it really be a seperate test method for each of the above scenario? </p>
  
  <p>I believe, breaking it down into multiple test methods would at least provide the following benefits
  1. higher isolation in case of test failures
  2. amount of code within a test method is less
  3. each test method will have a single repository setup responsibility e.g. either setup for no result, or setup for multiple results etc</p>
  
  <p>Could you please help with your views around this?</p>