1   /*
2    * Copyright (C) The DNA Group. All rights reserved.
3    *
4    * This software is published under the terms of the DNA
5    * Software License version 1.1, a copy of which has been included
6    * with this distribution in the LICENSE.txt file.
7    */
8   package org.codehaus.dna;
9   
10  import junit.framework.TestCase;
11  
12  /***
13   *
14   * @author Peter Donald
15   * @version $Revision: 1.2 $ $Date: 2004/05/01 09:51:48 $
16   */
17  public class LogEnabledTestCase
18      extends TestCase
19  {
20      public void testGetLogger()
21          throws Exception
22      {
23          final MockLogEnabled logEnabled = new MockLogEnabled();
24          final MockLogger logger = new MockLogger( "base" );
25          logEnabled.enableLogging( logger );
26          assertEquals( "logger", logger, logEnabled.getLogger() );
27      }
28  
29      public void testSetupLoggerOnLogEnabled()
30          throws Exception
31      {
32          final MockLogEnabled logEnabled = new MockLogEnabled();
33          final MockLogEnabled childLogEnabled = new MockLogEnabled();
34          final MockLogger logger = new MockLogger( "base" );
35          logEnabled.enableLogging( logger );
36          logEnabled.setupLogger( childLogEnabled );
37          assertEquals( "logEnabled.logger", logger, logEnabled.getLogger() );
38          assertEquals( "childLogEnabled.logger", logger, childLogEnabled.getLogger() );
39      }
40  
41      public void testSetupLoggerOnNonLogEnabled()
42          throws Exception
43      {
44          final MockLogEnabled logEnabled = new MockLogEnabled();
45          final MockLogger logger = new MockLogger( "base" );
46          logEnabled.enableLogging( logger );
47          logEnabled.setupLogger( new Object() );
48      }
49  
50      public void testSetupLoggerWithNameOnLogEnabled()
51          throws Exception
52      {
53          final MockLogEnabled logEnabled = new MockLogEnabled();
54          final MockLogEnabled childLogEnabled = new MockLogEnabled();
55          final MockLogger logger = new MockLogger( "base" );
56          logEnabled.enableLogging( logger );
57          logEnabled.setupLogger( childLogEnabled, "child" );
58          assertEquals( "logEnabled.logger", logger, logEnabled.getLogger() );
59          assertEquals( "childLogEnabled.logger.name",
60                        "base.child",
61                        ( (MockLogger)childLogEnabled.getLogger() ).getName() );
62      }
63  
64      public void testSetupLoggerWithNullName()
65          throws Exception
66      {
67          final MockLogEnabled logEnabled = new MockLogEnabled();
68          final MockLogEnabled childLogEnabled = new MockLogEnabled();
69          final MockLogger logger = new MockLogger( "base" );
70          logEnabled.enableLogging( logger );
71          try
72          {
73              logEnabled.setupLogger( childLogEnabled, null );
74          }
75          catch( final NullPointerException npe )
76          {
77              assertEquals( "npe.message", "name", npe.getMessage() );
78              return;
79          }
80          fail( "Expected to fail setting up child logger with null name" );
81      }
82  }