KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > oddjob > logging > LogArchiverCahceTest


1 /*
2  * (c) Rob Gordon 2005
3  */

4 package org.oddjob.logging;
5
6 import junit.framework.TestCase;
7
8 /**
9  *
10  */

11 public class LogArchiverCahceTest extends TestCase {
12
13     public class Thing {
14         public String JavaDoc getLogger() {
15             return "thing";
16         }
17     }
18
19     class MyLL implements LogListener {
20         LogEvent lev;
21         int count;
22         public void logEvent(LogEvent logEvent) {
23             count++;
24             lev = logEvent;
25         }
26     }
27     
28     class R implements LogArchiverCache.Resolver {
29         public String JavaDoc loggerFor(Object JavaDoc component) {
30             return LogHelper.getLogger(component);
31         }
32     }
33     
34     // archive something.
35
public void test1() {
36         Thing t = new Thing();
37         LogArchiverCache lai = new LogArchiverCache(t, new R());
38         assertEquals(-1, lai.getLastMessageNumber("thing"));
39         
40         MyLL ll = new MyLL();
41         lai.addLogListener(ll, "thing", LogLevel.DEBUG, -1, 2000);
42         assertNull(ll.lev);
43
44         lai.addEvent("thing", LogLevel.DEBUG, "Hello");
45         assertEquals("Hello", ll.lev.getMessage());
46         assertEquals(0, ll.lev.getNumber());
47     }
48
49     // try and break log archiver
50
public void test2() {
51         Thing t = new Thing();
52         LogArchiverCache lai = new LogArchiverCache(t, new R());
53         MyLL ll = new MyLL();
54
55         // no archive
56
lai.addLogListener(ll, "thing", LogLevel.DEBUG, -1, 2000);
57         assertNull(ll.lev);
58         lai.removeLogListener(ll, "thing");
59         
60         // -ve max
61
lai.addLogListener(ll, "thing", LogLevel.DEBUG, 2, -1);
62         assertNull(ll.lev);
63         lai.removeLogListener(ll, "thing");
64     }
65     
66     // archive then listen.
67
public void test3() {
68         Thing t = new Thing();
69         LogArchiverCache lai = new LogArchiverCache(t, new R());
70         lai.addEvent("thing", LogLevel.DEBUG, "x");
71         lai.addEvent("thing", LogLevel.DEBUG, "y");
72         lai.addEvent("thing", LogLevel.DEBUG, "z");
73         assertEquals(2, lai.getLastMessageNumber("thing"));
74         
75         
76         MyLL ll = new MyLL();
77         lai.addLogListener(ll, "thing", LogLevel.DEBUG, -1, 2);
78
79         assertEquals("z", ll.lev.getMessage());
80         assertEquals(2, ll.count);
81         assertEquals(2, ll.lev.getNumber());
82     }
83     
84 }
85
Popular Tags