Clover Coverage Report - perfectjpattern(Aggregated)
Coverage timestamp: Sat Feb 28 2009 14:35:07 CET
15   111   7   5
0   57   0.47   3
3     2.33  
1    
 
  TestNullHandler       Line # 37 15 0% 7 4 77.8% 0.7777778
 
  (3)
 
1    //----------------------------------------------------------------------
2    //
3    // PerfectJPattern: "Design patterns are good but components are better!"
4    // TestNullParameter.java Copyright (c) 2009 Giovanni Azua Garcia
5    // bravegag@hotmail.com
6    //
7    // This program is free software; you can redistribute it and/or
8    // modify it under the terms of the GNU General Public License
9    // as published by the Free Software Foundation; either version 3
10    // of the License, or (at your option) any later version.
11    //
12    // This program is distributed in the hope that it will be useful,
13    // but WITHOUT ANY WARRANTY; without even the implied warranty of
14    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15    // GNU General Public License for more details.
16    //
17    // You should have received a copy of the GNU General Public License
18    // along with this program; if not, see <http://www.gnu.org/licenses/>.
19    //
20    //----------------------------------------------------------------------
21    package org.perfectjpattern.core.behavioral.chainofresponsibility;
22   
23    import junit.framework.*;
24   
25    import org.perfectjpattern.core.api.behavioral.chainofresponsibility.*;
26   
27   
28    /**
29    * Test Suite for <code>NullHandler</code> implementation.
30    *
31    * @see NullHandler
32    *
33    * @author <a href="mailto:bravegag@hotmail.com">Giovanni Azua</a>
34    * @version $Revision: 1.0 $ $Date: Jun 26, 2007 1:01:56 AM $
35    */
36    public
 
37    class TestNullHandler
38    extends TestCase
39    {
40    //------------------------------------------------------------------------
41    // public
42    //------------------------------------------------------------------------
43    /**
44    * Test that the singleton was properly implemented i.e. there is a
45    * single instance retrieved each time.
46    */
 
47  1 toggle public void
48    testSingleton()
49    {
50  1 assertSame("NullHandler singleton implemented incorrectly.",
51    NullHandler.getInstance(), NullHandler.getInstance());
52    }
53   
54    //------------------------------------------------------------------------
55    /**
56    * Test that UnsupportedOperation is thrown when appropriate.
57    */
 
58  1 toggle public void
59    testExceptions()
60    {
61  1 NullHandler myNullHandler = NullHandler.getInstance();
62   
63  1 try
64    {
65  1 myNullHandler.getSuccessor();
66  0 fail("getSuccessor() was not implemented correctly.");
67    }
68    catch (UnsupportedOperationException anException)
69    {
70    // ok
71    }
72   
73  1 try
74    {
75  1 myNullHandler.setChainStrategy(null);
76  0 fail("setChainStrategy() was not implemented correctly.");
77    }
78    catch (UnsupportedOperationException anException)
79    {
80    // ok
81    }
82   
83  1 try
84    {
85  1 myNullHandler.setSuccessor(null);
86  0 fail("setSuccessor() was not implemented correctly.");
87    }
88    catch (UnsupportedOperationException anException)
89    {
90    // ok
91    }
92   
93  1 try
94    {
95  1 myNullHandler.handle(NullRequest.getInstance());
96    // ok no exception
97    }
98    catch (UnsupportedOperationException anException)
99    {
100  0 fail("handle() was not implemented correctly.");
101    }
102    }
103   
104    //------------------------------------------------------------------------
 
105  1 toggle public void
106    testCanHandle()
107    {
108  1 assertTrue("NullHandler canHandle(...) must always return true",
109    NullHandler.getInstance().canHandle(null));
110    }
111    }