1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.jdtaus.core.text.spi.it;
22
23 import java.util.Locale;
24 import junit.framework.Assert;
25 import org.jdtaus.core.text.Message;
26 import org.jdtaus.core.text.MessageEvent;
27 import org.jdtaus.core.text.MessageEventSource;
28 import org.jdtaus.core.text.MessageListener;
29 import org.jdtaus.core.text.it.MessageEventSourceTest;
30 import org.jdtaus.core.text.spi.ApplicationLogger;
31
32
33
34
35
36
37
38 public class ApplicationLoggerTest extends MessageEventSourceTest
39 {
40
41
42
43
44
45
46 public final MessageEventSource getMessageEventSource()
47 {
48 return this.logger;
49 }
50
51
52
53
54
55 private ApplicationLogger logger;
56
57
58
59
60
61
62
63
64 public ApplicationLogger getApplicationLogger()
65 {
66 return this.logger;
67 }
68
69
70
71
72
73
74
75
76 public final void setApplicationLogger( final ApplicationLogger value )
77 {
78 this.logger = value;
79 this.setMessageEventSource( value );
80 }
81
82
83 public static final class TestMessageListener implements MessageListener
84 {
85
86
87 private MessageEvent lastEvent;
88
89
90
91
92
93
94 public MessageEvent getLastEvent()
95 {
96 return this.lastEvent;
97 }
98
99 public void onMessage( final MessageEvent messageEvent )
100 {
101 this.lastEvent = messageEvent;
102 }
103
104 }
105
106
107
108
109
110
111
112
113
114 public void testIllegalArguments() throws Exception
115 {
116 assert this.getApplicationLogger() != null;
117
118 try
119 {
120 this.getApplicationLogger().log( null );
121 throw new AssertionError();
122 }
123 catch ( NullPointerException e )
124 {
125 Assert.assertNotNull( e.getMessage() );
126 System.out.println( e.toString() );
127 }
128
129 }
130
131
132
133
134
135 public void testLog() throws Exception
136 {
137 assert this.getApplicationLogger() != null;
138
139 final TestMessageListener listener = new TestMessageListener();
140 final Message message = new Message()
141 {
142
143 public Object[] getFormatArguments( final Locale locale )
144 {
145 return new Object[ 0 ];
146 }
147
148 public String getText( final Locale locale )
149 {
150 return ApplicationLoggerTest.class.getName();
151 }
152
153 };
154
155 this.getMessageEventSource().addMessageListener( listener );
156
157 MessageEvent evt = new MessageEvent( this, message,
158 MessageEvent.INFORMATION );
159
160 this.getApplicationLogger().log( evt );
161 Assert.assertNotNull( listener.getLastEvent() );
162 Assert.assertTrue( listener.getLastEvent() == evt );
163 }
164
165
166 }