title: Test case for a switch statement C#
body: <p>I'm a quite new person for C# and unit tests. I need to write a unit tests for a switch statement and I have to admit that I already have been through many of pages trying to find something. Does anyone could give me any tip how to create it? please
  My code below:</p>
  
  <pre><code>public static Message create(String body)
  {
      Message result = null;
      switch (body.ToArray()[0])
      {
          case 'S':
              //checking the regex for a sms message
              Match matchS = Regex.Match(body, @"[S][0-9]{9}\+[0-9]{12}");
              if (matchS.Success)
              {
                  MessageBox.Show("This is SMS message");
                  //if the regex will match a sms_message class will be started
                  result = new Sms_Message(body.Substring(1));
              }
              //if the regex doesn't match the message should be displayed
              else throw new Exception("I don't like content!!!!!!!!!!");       
              break;
          case 'T':
              //checking the regex for a tweet message
              Match matchT = Regex.Match(body, @"[T][0-9]{9}");                     
              if (matchT.Success)
              {
                  MessageBox.Show("This is the Tweet message");
                  //if the regex match the message should be displayed and the class Tweet will be started         
                  result = new Tweet(body.Substring(1));
              }
              break;
          case 'E':
              //checking the regex for a email message
              Match matchE = Regex.Match(body, @"[E][0-9]{9}"); 
              if (matchE.Success)
              {
                  //checking the content of the message by using function 'BodyIsSir'
                  if (BodyIsSir(body))
                      //if function return true the SIREmail class will be started                                               
                      result = new SIREmail(body.Substring(1));                       
                  else
                      //if function return false the StandardEmail class will be started
                      result = new StandardEmail(body.Substring(1));                  
              }
              //when regex will not match the text message will be displayed
              else throw new Exception("I don't like the content");                   
              break;
          default:
              //when the content of the email message will not match
              throw new Exception("I dont like first letter!");                         
      }
      return result;
  }
  
  private static bool BodyIsSir(string body)
  {
      //checking the body of email message if this contain regex for checking the sort code
      Match matchSIR = Regex.Match(body, @"[0-9]{2}[-][0-9]{2}[-][0-9]");              
      if (matchSIR.Success)
          return true;                                                                
      else
          return false;                                                                   
  }
  </code></pre>