1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 package name.angoca.zemucan.tools.configurator;
30
31 import name.angoca.zemucan.tools.Constants;
32 import name.angoca.zemucan.tools.test.RandomTestRunner;
33
34 import org.junit.After;
35 import org.junit.AfterClass;
36 import org.junit.Assert;
37 import org.junit.Before;
38 import org.junit.Test;
39 import org.junit.runner.RunWith;
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 @RunWith(RandomTestRunner.class)
65 public class ConfiguratorTest {
66
67
68
69
70 private static final String A = "A";
71
72
73
74 private static final String ABOUT_TOKEN = "About token";
75
76
77
78 private static final String GRAMMAR_FILE_NAME = "Grammar fileName";
79
80
81
82 private static final String HELP_TOKEN = "Help token";
83
84
85
86 private static final String SA_CONF_TEST_XML = "sa_conf-test.xml";
87
88
89
90
91 @AfterClass
92 public static final void tearDownAfterClass() {
93 System.clearProperty(Constants.ZEMUCAN_CONF_XML_PROPERTY);
94 }
95
96
97
98
99 @Before
100 public final void setUp() {
101 System.setProperty(Constants.ZEMUCAN_CONF_XML_PROPERTY,
102 ConfiguratorTest.SA_CONF_TEST_XML);
103 }
104
105
106
107
108 @After
109 public void tearDown() {
110 Configurator.destroyInstance();
111 }
112
113
114
115
116 @Test
117 public final void testGetInstanceConf() {
118
119 System.clearProperty(Constants.ZEMUCAN_CONF_XML_PROPERTY);
120
121 final Configurator instance = Configurator.getInstance();
122
123 Assert.assertNotNull("Configurator instanced", instance);
124 }
125
126
127
128
129 @Test
130 public final void testGetInstanceConfFileTest() {
131
132 System.setProperty(Constants.ZEMUCAN_CONF_XML_PROPERTY,
133 ConfiguratorTest.SA_CONF_TEST_XML);
134
135
136 String actual = Configurator.getInstance().getProperty(
137 Constants.ABOUT_TOKEN_PROPERTY);
138 String expected = "about";
139 Assert.assertEquals(ConfiguratorTest.ABOUT_TOKEN, expected, actual);
140
141 actual = Configurator.getInstance().getProperty(
142 Constants.GRAMMAR_FILE_DESCRIPTORS_PROPERTY);
143 expected = "grammar-test.xml";
144 Assert.assertEquals(ConfiguratorTest.GRAMMAR_FILE_NAME, expected,
145 actual);
146
147 actual = Configurator.getInstance().getProperty(
148 Constants.HELP_TOKEN_PROPERTY);
149 expected = "?";
150 Assert.assertEquals(ConfiguratorTest.HELP_TOKEN, expected, actual);
151 }
152
153
154
155
156 @Test
157 public final void testGetInstanceNoFile() {
158
159 System
160 .setProperty(Constants.ZEMUCAN_CONF_XML_PROPERTY,
161 "NoFileSpecified");
162
163
164 String actual = Configurator.getInstance().getProperty(
165 Constants.ABOUT_TOKEN_PROPERTY);
166 String expected = Constants.ABOUT_TOKEN_VALUE;
167 Assert.assertEquals(ConfiguratorTest.ABOUT_TOKEN, expected, actual);
168
169 actual = Configurator.getInstance().getProperty(
170 Constants.GRAMMAR_FILE_DESCRIPTORS_PROPERTY);
171 expected = Configurator.GRAMMAR_FILE_DESCRIPTORS_VALUE;
172 Assert.assertEquals(ConfiguratorTest.GRAMMAR_FILE_NAME, expected,
173 actual);
174
175 actual = Configurator.getInstance().getProperty(
176 Constants.HELP_TOKEN_PROPERTY);
177 expected = Constants.HELP_TOKEN_VALUE;
178 Assert.assertEquals(ConfiguratorTest.HELP_TOKEN, expected, actual);
179 }
180
181
182
183
184 @Test(expected = AssertionError.class)
185 public final void testGetNull() {
186 Configurator.getInstance().getProperty(null);
187 }
188
189
190
191
192
193 @Test
194 public final void testReadInvalidFile() {
195
196 System.setProperty(Constants.ZEMUCAN_CONF_XML_PROPERTY,
197 "sa_conf-test-InvalidFormat.properties");
198
199 final String actual = Configurator.getInstance().getProperty(
200 Constants.HELP_TOKEN_PROPERTY);
201
202 final String expected = Constants.HELP_TOKEN_VALUE;
203
204 Assert.assertEquals("Defaults Loaded", expected, actual);
205 }
206
207
208
209
210 @Test(expected = AssertionError.class)
211 public final void testSetNull1() {
212 Configurator.getInstance().setProperty(null, ConfiguratorTest.A);
213 }
214
215
216
217
218 @Test(expected = AssertionError.class)
219 public final void testSetNull2() {
220 Configurator.getInstance().setProperty(ConfiguratorTest.A, null);
221 }
222 }