logging and unit test updates
[debian/openrocket] / test / net / sf / openrocket / logging / LoggingTest.java
1 package net.sf.openrocket.logging;
2
3 import static org.junit.Assert.*;
4
5 import java.util.List;
6
7 import org.junit.Test;
8
9 public class LoggingTest {
10
11         @Test
12         public void testLoggers() {
13                 // Ensure a sane stack trace
14                 actualTest();
15         }
16         
17         private void actualTest() {
18                 BufferLogger log3 = new BufferLogger(3);
19                 BufferLogger log4 = new BufferLogger(4);
20                 
21                 DelegatorLogger delegator = new DelegatorLogger();
22                 delegator.addLogger(log3);
23                 delegator.addLogger(log4);
24                 
25                 delegator.debug("one");
26                 delegator.debug("two");
27                 delegator.info("three");
28                 delegator.warn(1, "four");
29                 delegator.error("five");
30                 
31                 List<LogLine> logs = log4.getLogs();
32                 assertEquals(4, logs.size());
33                 assertTrue(logs.get(0).toString(), logs.get(0).toString().matches(
34                                 " *[0-9]+ +[0-9]+\\.[0-9]+ +DEBUG \\(LoggingTest.java:[0-9]+\\) two"));
35                 assertTrue(logs.get(1).toString(), logs.get(1).toString().matches(
36                                 " *[0-9]+ +[0-9]+\\.[0-9]+ +INFO  \\(LoggingTest.java:[0-9]+\\) three"));
37                 assertTrue(logs.get(2).toString(), logs.get(2).toString().matches(
38                                 " *[0-9]+ +[0-9]+\\.[0-9]+ +WARN  \\(LoggingTest.java:[0-9]+ LoggingTest.java:[0-9]+\\) four"));
39                 assertTrue(logs.get(3).toString(), logs.get(3).toString().matches(
40                                 " *[0-9]+ +[0-9]+\\.[0-9]+ +ERROR \\(LoggingTest.java:[0-9]+\\) five"));
41                 
42                 logs = log3.getLogs();
43                 assertEquals(3, logs.size());
44                 assertTrue(logs.get(0).toString(), logs.get(0).toString().matches(
45                                 " *[0-9]+ +[0-9]+\\.[0-9]+ +INFO  \\(LoggingTest.java:[0-9]+\\) three"));
46                 assertTrue(logs.get(1).toString(), logs.get(1).toString().matches(
47                                 " *[0-9]+ +[0-9]+\\.[0-9]+ +WARN  \\(LoggingTest.java:[0-9]+ LoggingTest.java:[0-9]+\\) four"));
48                 assertTrue(logs.get(2).toString(), logs.get(2).toString().matches(
49                                 " *[0-9]+ +[0-9]+\\.[0-9]+ +ERROR \\(LoggingTest.java:[0-9]+\\) five"));
50                 
51         }
52         
53         public static void main(String[] args) {
54                 PrintStreamLogger logger = new PrintStreamLogger();
55                 
56                 logger.debug("a debug message");
57                 logger.info("an info message");
58                 logger.warn("a warning message");
59                 logger.error("an error message");
60                 
61                 logger.debug(4, "Debugging");
62         }
63 }