title: Design and Test Approach for given scenario
body: <p>This is not an homework. But an practice to understand what are the best practices to <code>design , implement and unit test</code> a particular scenario and so <code>discussion explaining why a particular approach was taken</code> as compared to other would be really helpful from understanding point of view to gain better understanding of how to approach and deal with similar situations. </p>
  
  <p>How to approach following scenario from design, implementation and unit testing perspective. </p>
  
  <p><strong><em>Scenario</em></strong></p>
  
  <p>A speaker and a listener communicate with each other. The speaker can present emotions to the listener: <code>smile,anger, courtesy, joke, fury, etc.</code> 
  The listener gives a proper response for each communication (say something, attack, defense, ignore, etc.).</p>
  
  <p><strong><em>Questions</em></strong></p>
  
  <ul>
  <li>What will be the listener objects's reaction rules ?</li>
  <li>How would this be designed using UML and implemented by simulating it using text outputs ?</li>
  <li>What would be the JUnit test case for the checking proper implementation of this scenario ?</li>
  </ul>