source: trunk/tests/org/expeditee/io/ConversionTest.java@ 114

Last change on this file since 114 was 114, checked in by ra33, 16 years ago

Added some new tests for simple classes

File size: 12.2 KB
Line 
1package org.expeditee.io;
2
3import java.awt.Color;
4import java.awt.Font;
5import java.awt.Point;
6import java.lang.reflect.Method;
7import java.util.ArrayList;
8import java.util.List;
9
10import junit.framework.TestCase;
11
12import org.expeditee.items.Item;
13import org.expeditee.items.Justification;
14import org.expeditee.items.Text;
15
16public class ConversionTest extends TestCase {
17
18 public final void testGetColor() {
19 assertEquals(null, Conversion.getColor("TrAnSpArEnT", Color.white));
20 assertEquals(null, Conversion.getColor("Clear", Color.white));
21 assertEquals(null, Conversion.getColor("Auto", Color.white));
22 assertEquals(null, Conversion.getColor("Default", Color.white));
23 assertEquals(null, Conversion.getColor("adf", Color.red));
24 assertEquals(null, Conversion.getColor("none", Color.red));
25 assertEquals(null, Conversion.getColor("null", Color.red));
26 assertEquals(null, Conversion.getColor(null, Color.red));
27 assertEquals(null, Conversion.getColor("a0a0a0", Color.white));
28
29 assertEquals(Color.red, Conversion.getColor("100 0 0", Color.white));
30 assertEquals(Color.green, Conversion.getColor("0 100 0", Color.white));
31 assertEquals(Color.blue, Conversion.getColor("0 0 100", Color.white));
32 assertEquals(Color.white, Conversion.getColor("100 100 100",
33 Color.white));
34 assertEquals(Color.gray, Conversion.getColor("50 50 50", Color.white));
35 assertEquals(Color.green, Conversion.getColor("-100 +0 -100",
36 Color.white));
37 assertEquals(Color.green, Conversion.getColor("-10 +100 +0",
38 Color.black));
39 assertEquals(Color.green, Conversion.getColor("+0 +110 +0", null));
40
41 assertEquals(Conversion.getColor("red9", Color.white), new Color(0.9F,
42 0.0F, 0.0F));
43 assertEquals(Conversion.getColor("BlUe15", Color.white), new Color(
44 0.0F, 0.0F, 1.0F));
45 assertEquals(Conversion.getColor("GREEN0", Color.white), new Color(
46 0.0F, 0.0F, 0.0F));
47 assertEquals(Conversion.getColor("GREEN3", Color.white), new Color(
48 0.0F, 0.3F, 0.0F));
49 assertEquals(Conversion.getColor("Blue1", Color.white), new Color(0.0F,
50 0.0F, 0.1F));
51 }
52
53 public final void testGetExpediteeColorCode() {
54 assertTrue(Conversion.getExpediteeColorCode(Color.red)
55 .equals("100 0 0"));
56 assertTrue(Conversion.getExpediteeColorCode(Color.green).equals(
57 "0 100 0"));
58 assertTrue(Conversion.getExpediteeColorCode(Color.blue).equals(
59 "0 0 100"));
60 }
61
62 public final void testGetExpediteeFontCode() {
63 Font testFont = new Font(Text.FONT_WHEEL[1], Font.BOLD, 18);
64 Font testFont2 = new Font(Text.FONT_WHEEL[4], Font.ITALIC, 20);
65 Font testFont3 = new Font("xxx123", Font.ITALIC | Font.BOLD, 10);
66 Font testFont4 = new Font(Text.FONT_WHEEL[0], Font.PLAIN, 2);
67
68 String result = Text.FONT_CHARS[1] + "b18";
69 assertEquals(result, Conversion.getExpediteeFontCode(testFont));
70
71 result = Text.FONT_CHARS[4] + "i20";
72 assertEquals(result, Conversion.getExpediteeFontCode(testFont2));
73
74 result = "dp10";
75 assertEquals(result, Conversion.getExpediteeFontCode(testFont3));
76
77 result = Text.FONT_CHARS[0] + "r2";
78 assertEquals(result, Conversion.getExpediteeFontCode(testFont4));
79 }
80
81 public final void testGetFont() {
82 Font testFont = new Font(Text.FONT_WHEEL[1], Font.BOLD, 18);
83 Font testFont2 = new Font(Text.FONT_WHEEL[4], Font.ITALIC, 20);
84 Font testFont3 = new Font(Text.FONT_WHEEL[3], Font.ITALIC | Font.BOLD,
85 10);
86 Font testFont4 = new Font(Text.FONT_WHEEL[0], Font.PLAIN, 2);
87
88 String code = Text.FONT_CHARS[1] + "b18";
89 assertEquals(testFont, Conversion.getFont(code));
90
91 code = Text.FONT_CHARS[4] + "i20";
92 assertEquals(testFont2, Conversion.getFont(code));
93
94 code = Text.FONT_CHARS[3] + "p10";
95 assertEquals(testFont3, Conversion.getFont(code));
96
97 code = Text.FONT_CHARS[0] + "r2";
98 assertEquals(testFont4, Conversion.getFont(code));
99 }
100
101 public final void testGetFrameNumber() {
102 assertEquals(1, Conversion.getFrameNumber("a1"));
103 assertEquals(91, Conversion.getFrameNumber("a91"));
104 assertEquals(1, Conversion.getFrameNumber("a1C1"));
105 }
106
107 public final void testGetFrameset() {
108 assertTrue(Conversion.getFramesetName("a1").equals("a"));
109 assertTrue(Conversion.getFramesetName("a91").equals("a"));
110 assertTrue(Conversion.getFramesetName("Aa1C1").equals("aa1c"));
111 assertTrue(Conversion.getFramesetName("Aa1C1", false).equals("Aa1C"));
112 assertTrue(Conversion.getFramesetName("Abc1C1", true).equals(
113 Conversion.getFramesetName("Abc1C1")));
114 }
115
116 public final void testConvertClassString() {
117 assertEquals(null, Conversion.Convert(Class.class, null));
118
119 assertEquals(" Test ", Conversion.Convert(String.class, " Test "));
120 assertEquals(null, Conversion.Convert(String.class, ""));
121
122 // Test fonts
123 assertEquals(Conversion.getFont("tR16"), Conversion.Convert(Font.class,
124 "Tr16"));
125 assertEquals(Conversion.getFont("tR16"), Conversion.Convert(Font.class,
126 "Tr16"));
127
128 // Test Color Conversion
129 assertEquals(Color.darkGray, Conversion.Convert(Color.class,
130 "dark_gray"));
131 assertEquals(Color.darkGray, Conversion
132 .Convert(Color.class, "DARKGRAY"));
133 assertEquals(Color.red, Conversion.Convert(Color.class, "red"));
134 assertEquals(Color.red, Conversion.Convert(Color.class, "Red"));
135 assertEquals(Color.red, Conversion.Convert(Color.class, "RED"));
136 assertEquals(Color.red, Conversion.Convert(Color.class, " 100 "));
137 assertEquals(Color.green, Conversion.Convert(Color.class, "0 100"));
138 assertEquals(Color.blue, Conversion.Convert(Color.class, "0 0 100"));
139 // Test Boolean Conversion
140 assertEquals(true, Conversion.Convert(boolean.class, ""));
141 assertEquals(true, Conversion.Convert(boolean.class, "tRuE"));
142 assertEquals(true, Conversion.Convert(boolean.class, "T"));
143 assertEquals(true, Conversion.Convert(boolean.class, "yes"));
144 assertEquals(true, Conversion.Convert(boolean.class, "Y"));
145 assertEquals(false, Conversion.Convert(boolean.class, "FALSE"));
146 assertEquals(false, Conversion.Convert(boolean.class, "no"));
147 assertEquals(false, Conversion.Convert(boolean.class, "n"));
148 assertEquals(false, Conversion.Convert(boolean.class, "f"));
149 assertEquals(false, Conversion.Convert(boolean.class, "XXX"));
150 }
151
152 public final void testConvertClassStringObject() {
153 assertEquals(new Color(255, 0, 255), Conversion.Convert(Color.class,
154 "+100 +0 +100", null));
155 assertEquals(Color.red, Conversion.Convert(Color.class, "+100 +0 -100",
156 Color.blue));
157 assertEquals(Color.black, Conversion.Convert(Color.class, "-0 +0 -100",
158 Color.blue));
159 // Float test
160 assertEquals(2.0F, Conversion.Convert(float.class, "2.0", null));
161 assertEquals(-8.0F, Conversion.Convert(float.class, "+2.0", -10.0F));
162 assertEquals(8.0F, Conversion.Convert(float.class, "-2.0", 10.0F));
163 // Double test
164 assertEquals(2.0, Conversion.Convert(double.class, "2.0", null));
165 assertEquals(-8.0, Conversion.Convert(double.class, "+2.0", -10.0));
166 assertEquals(8.0, Conversion.Convert(double.class, "-2.0", 10.0));
167 // Integer test
168 assertEquals(255, Conversion.Convert(int.class, "0xFF", null));
169 assertEquals(5, Conversion.Convert(int.class, "+0xF", -10));
170 assertEquals(2, Conversion.Convert(int.class, "2", null));
171 assertEquals(-8, Conversion.Convert(int.class, "+2", -10));
172 assertEquals(8, Conversion.Convert(int.class, "-2", 10));
173 assertEquals(-1, Conversion.Convert(int.class, "null", 10));
174
175 // Integer Array test
176 int[] expectedResult = { 2, 10, 4, 5 };
177 int[] actualResult = (int[]) Conversion.Convert(int[].class,
178 "2 10 4 5", null);
179 for (int i = 0; i < expectedResult.length; i++)
180 assertEquals(expectedResult[i], actualResult[i]);
181
182 // Point test
183 assertEquals(new Point(-2, 20), Conversion.Convert(Point.class,
184 " -2 20 ", null));
185 assertEquals(new Point(-12, 20), Conversion.Convert(Point.class,
186 "-2 20", new Point(-10, -20)));
187 assertEquals(new Point(-8, -30), Conversion.Convert(Point.class,
188 "+2 -10", new Point(-10, -20)));
189 }
190
191 public final void testConvertMethodStringObject() {
192 try {
193 Method appendLine = Text.class.getMethod("appendLine",
194 new Class[] { String.class });
195 Method setPosition = Item.class.getMethod("setPosition",
196 new Class[] { Point.class });
197 Method setJustification = Text.class.getMethod("setJustification",
198 new Class[] { Justification.class });
199 Method setArrow = Text.class.getMethod("setArrow", new Class[] {
200 float.class, double.class });
201 Method setActions = Text.class.getMethod("setActions",
202 new Class[] { List.class });
203
204 // Test that the two methods return the same value
205 assertEquals(Conversion.Convert(setPosition, " 10 20 ")[0],
206 Conversion.Convert(setPosition, " 10 20", null)[0]);
207 Object[] result = Conversion.Convert(setPosition, " 10 20", null);
208 assertEquals(1, result.length);
209 assertEquals(new Point(10, 20), result[0]);
210
211 result = Conversion.Convert(setPosition, "-10 20", null);
212 assertEquals(1, result.length);
213 assertEquals(new Point(-10, 20), result[0]);
214
215 // Test justification method
216 String justificationCode = " f ";
217 result = Conversion.Convert(setJustification, justificationCode,
218 null);
219 assertEquals(1, result.length);
220 assertEquals(Justification.getJustification(justificationCode),
221 result[0]);
222
223 justificationCode = "f";
224 result = Conversion
225 .Convert(setJustification, justificationCode, "");
226 assertEquals(1, result.length);
227 assertEquals(Justification.getJustification(justificationCode),
228 result[0]);
229
230 // Test the setting of Arrows
231 result = Conversion.Convert(setArrow, " 20 10.5 ", null);
232 assertEquals(2, result.length);
233 assertEquals(20.0F, result[0]);
234 assertEquals(10.5, result[1]);
235
236 result = Conversion.Convert(setArrow, "+20 9.5", "10 10.5");
237 assertEquals(30.0F, result[0]);
238 assertEquals(9.5, result[1]);
239
240 result = Conversion.Convert(setArrow, " 20 +2.5 ", "10 10.5");
241 assertEquals(20.0F, result[0]);
242 assertEquals(13.0, result[1]);
243
244 assertEquals(null, Conversion.Convert(setArrow, " 23423 "));
245
246 // Test a setMethod with list parameter
247 String actionsString = "action1\naction2\naction3";
248 result = Conversion.Convert(setActions, actionsString, null);
249 assertTrue(result[0] instanceof List);
250 List resultList = (List) result[0];
251 assertEquals(3, resultList.size());
252 assertEquals("action1", resultList.get(0));
253 assertEquals("action2", resultList.get(1));
254 assertEquals("action3", resultList.get(2));
255
256 // Test the setting of text
257 String text = " + BulletTest ";
258 result = Conversion.Convert(appendLine, text, null);
259 assertEquals(1, result.length);
260 assertEquals(text, result[0]);
261
262 } catch (Exception e) {
263 fail();
264 e.printStackTrace();
265 }
266 }
267
268 public final void testConvertToExpeditee() {
269 try {
270 java.lang.reflect.Method getPosition = Item.class.getMethod(
271 "getPosition", new Class[] {});
272 java.lang.reflect.Method getJustification = Text.class.getMethod(
273 "getJustification", new Class[] {});
274
275 assertEquals('C', Conversion.ConvertToExpeditee(getJustification,
276 Justification.center));
277
278 assertEquals("Test", Conversion.ConvertToExpeditee(getPosition,
279 (Object) "Test"));
280 assertEquals("0", Conversion.ConvertToExpeditee(getPosition,
281 (Object) 0));
282 assertEquals("0.0", Conversion.ConvertToExpeditee(getPosition,
283 (Object) 0.0F));
284 assertEquals(null, Conversion.ConvertToExpeditee(getPosition,
285 (new Integer(-1))));
286 assertEquals(null, Conversion.ConvertToExpeditee(getPosition,
287 (new Float(-0.1F))));
288 assertEquals(null, Conversion.ConvertToExpeditee(getPosition,
289 (new Boolean(true))));
290 assertEquals("F", Conversion.ConvertToExpeditee(getPosition,
291 (new Boolean(false))));
292 assertEquals(null, Conversion.ConvertToExpeditee(getPosition,
293 (new int[] {})));
294 assertEquals("1 22 333", Conversion.ConvertToExpeditee(getPosition,
295 (new int[] { 1, 22, 333 })));
296
297 assertEquals("22 44", Conversion.ConvertToExpeditee(getPosition,
298 (new Point(22, 44))));
299
300 assertEquals("100 0 0", Conversion.ConvertToExpeditee(getPosition,
301 Color.red));
302
303 assertEquals(null, Conversion.ConvertToExpeditee(getPosition, null));
304 List<String> testList = new ArrayList<String>();
305 testList.add("test");
306
307 assertEquals(testList, Conversion.ConvertToExpeditee(getPosition,
308 testList));
309
310 Font testFont = new Font(Text.FONT_WHEEL[1], Font.BOLD, 18);
311 String result = Text.FONT_CHARS[1] + "b18";
312 assertEquals(result, Conversion.ConvertToExpeditee(getPosition,
313 testFont));
314 } catch (Exception e) {
315 e.printStackTrace();
316 fail();
317 }
318 }
319
320}
Note: See TracBrowser for help on using the repository browser.