Coverage Report - biz.xsoftware.examples.listener.TestExample
 
Classes in this File Line Coverage Branch Coverage Complexity
TestExample
93%
28/30
N/A
0
 
 1  
 /*
 2  
  * Created on Jun 28, 2004
 3  
  *
 4  
  * To change the template for this generated file go to
 5  
  * Window - Preferences - Java - Code Generation - Code and Comments
 6  
  */
 7  
 package biz.xsoftware.examples.listener;
 8  
 
 9  
 import java.util.logging.Logger;
 10  
 
 11  
 import junit.framework.TestCase;
 12  
 import biz.xsoftware.mock.CalledMethod;
 13  
 import biz.xsoftware.mock.MockObjectFactory;
 14  
 import biz.xsoftware.mock.MockObject;
 15  
 
 16  
 /**
 17  
  * This example has the following tests
 18  
  * 
 19  
  * testBasicListener
 20  
  * 
 21  
  * Tests when a user is added to the system, we get an event
 22  
  * and tests when he is deleted, we get an event.
 23  
  * 
 24  
  * testAddUserTwice
 25  
  * 
 26  
  * This test that when I add a user that is already added, we do
 27  
  * not fire a second event telling client systems the user was
 28  
  * added again which would be a lie
 29  
  * 
 30  
  * @author Dean Hiller
 31  
  */
 32  
 public class TestExample extends TestCase {
 33  
         
 34  
         private MockObject mockListener;
 35  
         private UserService sysUnderTest;
 36  2
         private Logger log = Logger.getLogger(TestExample.class.getName());
 37  
 
 38  
 
 39  
         /**
 40  
          * @showcode
 41  
          */
 42  
         public TestExample(String name) {
 43  2
                 super(name);
 44  2
         }
 45  
         /**
 46  
          * @showcode
 47  
          */
 48  
         @Override
 49  
     public void setUp() {
 50  2
                 mockListener = MockObjectFactory.createMock(UserListener.class);
 51  
                 
 52  2
                 sysUnderTest = new UserServiceImpl();
 53  2
         }
 54  
         @Override
 55  
     public void tearDown() {
 56  
 
 57  2
         }
 58  
         
 59  
         /**
 60  
          * Tests when a user is added to the system, we get an event
 61  
          * and tests when he is deleted, we get an event.
 62  
          *
 63  
          * @showcode
 64  
          * @see UserServiceImpl#addLegacyListener
 65  
          * @see LegacySystemListener#legacyEventOccurred
 66  
          */
 67  
         public void testBasicListener() {
 68  1
                 sysUnderTest.addUserListener((UserListener)mockListener);
 69  
                 
 70  1
                 String user = "abc";
 71  1
                 sysUnderTest.addUser(user);
 72  
                 
 73  1
                 CalledMethod method = mockListener.expect("userAdded");
 74  1
                 String actualUser = (String)method.getAllParams()[0];
 75  1
                 assertEquals(user, actualUser);
 76  
                 
 77  1
                 sysUnderTest.deleteUser(user);
 78  1
                 String actualUser2 = (String)method.getAllParams()[0];
 79  1
                 assertEquals(user, actualUser2);
 80  1
         }
 81  
         
 82  
         /**
 83  
          * This test that when I add a user that is already added, we do
 84  
          * not fire a second event telling client systems the user was
 85  
          * added again which would be a lie
 86  
          */
 87  
         public void testAddUserTwice() {
 88  1
                 sysUnderTest.addUserListener((UserListener)mockListener);
 89  
                 
 90  1
                 String user = "abc";
 91  1
                 sysUnderTest.addUser(user);
 92  
                 
 93  1
                 CalledMethod method = mockListener.expect("userAdded");
 94  1
                 String actualUser = (String)method.getAllParams()[0];
 95  1
                 assertEquals(user, actualUser);
 96  
                 
 97  
                 try {
 98  1
                         sysUnderTest.addUser(user);
 99  0
                         fail("Should have thrown IllegalArgumentException and did not");
 100  1
                 }catch(IllegalArgumentException e) {
 101  1
                         log.info(e.getMessage());
 102  0
                 }
 103  
                 
 104  1
                 mockListener.expect(MockObject.NONE);
 105  1
         }
 106  
 }