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 public ApplicationLoggerTest()
59 {
60 super();
61 }
62
63
64
65
66
67
68
69
70 public ApplicationLogger getApplicationLogger()
71 {
72 return this.logger;
73 }
74
75
76
77
78
79
80
81
82 public final void setApplicationLogger( final ApplicationLogger value )
83 {
84 this.logger = value;
85 this.setMessageEventSource( value );
86 }
87
88
89 public static final class TestMessageListener implements MessageListener
90 {
91
92
93 private MessageEvent lastEvent;
94
95
96 public TestMessageListener()
97 {
98 super();
99 }
100
101
102
103
104
105
106 public MessageEvent getLastEvent()
107 {
108 return this.lastEvent;
109 }
110
111 public void onMessage( final MessageEvent messageEvent )
112 {
113 this.lastEvent = messageEvent;
114 }
115
116 }
117
118
119
120
121
122
123
124
125
126 public void testIllegalArguments() throws Exception
127 {
128 assert this.getApplicationLogger() != null;
129
130 try
131 {
132 this.getApplicationLogger().log( null );
133 throw new AssertionError();
134 }
135 catch ( final NullPointerException e )
136 {
137 Assert.assertNotNull( e.getMessage() );
138 System.out.println( e.toString() );
139 }
140
141 }
142
143
144
145
146
147 public void testLog() throws Exception
148 {
149 assert this.getApplicationLogger() != null;
150
151 final TestMessageListener listener = new TestMessageListener();
152 final Message message = new Message()
153 {
154
155 public Object[] getFormatArguments( final Locale locale )
156 {
157 return new Object[ 0 ];
158 }
159
160 public String getText( final Locale locale )
161 {
162 return ApplicationLoggerTest.class.getName();
163 }
164
165 };
166
167 this.getMessageEventSource().addMessageListener( listener );
168
169 final MessageEvent evt =
170 new MessageEvent( this, message, MessageEvent.INFORMATION );
171
172 this.getApplicationLogger().log( evt );
173 Assert.assertNotNull( listener.getLastEvent() );
174 Assert.assertTrue( listener.getLastEvent() == evt );
175 }
176
177
178 }