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

Last change on this file since 428 was 428, checked in by ra33, 15 years ago
File size: 12.8 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// Float test
164 assertEquals(2.0F, Conversion.Convert(Float.class, "2.0", null));
165 assertEquals(-8.0F, Conversion.Convert(Float.class, "+2.0", -10.0F));
166 assertEquals(8.0F, Conversion.Convert(Float.class, "-2.0", 10.0F));
167 assertEquals(null, Conversion.Convert(Float.class, "", 10.0F));
168 assertEquals(null, Conversion.Convert(Float.class, "null", 10.0F));
169 // Double test
170 assertEquals(2.0, Conversion.Convert(double.class, "2.0", null));
171 assertEquals(-8.0, Conversion.Convert(double.class, "+2.0", -10.0));
172 assertEquals(8.0, Conversion.Convert(double.class, "-2.0", 10.0));
173 // Integer test
174 assertEquals(255, Conversion.Convert(int.class, "0xFF", null));
175 assertEquals(5, Conversion.Convert(int.class, "+0xF", -10));
176 assertEquals(2, Conversion.Convert(int.class, "2", null));
177 assertEquals(-8, Conversion.Convert(int.class, "+2", -10));
178 assertEquals(8, Conversion.Convert(int.class, "-2", 10));
179 assertEquals(-1, Conversion.Convert(int.class, "null", 10));
180
181 // Integer Array test
182 int[] expectedResult = { 2, 10, 4, 5 };
183 int[] actualResult = (int[]) Conversion.Convert(int[].class,
184 "2 10 4 5", null);
185 for (int i = 0; i < expectedResult.length; i++)
186 assertEquals(expectedResult[i], actualResult[i]);
187
188 // Point test
189 assertEquals(new Point(-2, 20), Conversion.Convert(Point.class,
190 " -2 20 ", null));
191 assertEquals(new Point(-12, 20), Conversion.Convert(Point.class,
192 "-2 20", new Point(-10, -20)));
193 assertEquals(new Point(-8, -30), Conversion.Convert(Point.class,
194 "+2 -10", new Point(-10, -20)));
195 }
196
197 public final void testConvertMethodStringObject() {
198 try {
199 Method appendLine = Text.class.getMethod("appendLine",
200 new Class[] { String.class });
201 Method setPosition = Item.class.getMethod("setPosition",
202 new Class[] { Point.class });
203 Method setJustification = Text.class.getMethod("setJustification",
204 new Class[] { Justification.class });
205 Method setArrow = Text.class.getMethod("setArrow", new Class[] {
206 float.class, double.class });
207 Method setActions = Text.class.getMethod("setActions",
208 new Class[] { List.class });
209
210 // Test that the two methods return the same value
211 assertEquals(Conversion.Convert(setPosition, " 10 20 ")[0],
212 Conversion.Convert(setPosition, " 10 20", null)[0]);
213 Object[] result = Conversion.Convert(setPosition, " 10 20", null);
214 assertEquals(1, result.length);
215 assertEquals(new Point(10, 20), result[0]);
216
217 result = Conversion.Convert(setPosition, "-10 20", null);
218 assertEquals(1, result.length);
219 assertEquals(new Point(-10, 20), result[0]);
220
221 // Test justification method
222 String justificationCode = " f ";
223 result = Conversion.Convert(setJustification, justificationCode,
224 null);
225 assertEquals(1, result.length);
226 assertEquals(Justification.convertString(justificationCode),
227 result[0]);
228
229 justificationCode = "f";
230 result = Conversion
231 .Convert(setJustification, justificationCode, "");
232 assertEquals(1, result.length);
233 assertEquals(Justification.convertString(justificationCode),
234 result[0]);
235
236 // Test the setting of Arrows
237 result = Conversion.Convert(setArrow, " 20 10.5 ", null);
238 assertEquals(2, result.length);
239 assertEquals(20.0F, result[0]);
240 assertEquals(10.5, result[1]);
241
242 result = Conversion.Convert(setArrow, "+20 9.5", "10 10.5");
243 assertEquals(30.0F, result[0]);
244 assertEquals(9.5, result[1]);
245
246 result = Conversion.Convert(setArrow, " 20 +2.5 ", "10 10.5");
247 assertEquals(20.0F, result[0]);
248 assertEquals(13.0, result[1]);
249
250 assertEquals(null, Conversion.Convert(setArrow, " 23423 "));
251
252 // Test a setMethod with list parameter
253 String actionsString = "action1\naction2\naction3";
254 result = Conversion.Convert(setActions, actionsString, null);
255 assertTrue(result[0] instanceof List);
256 List resultList = (List) result[0];
257 assertEquals(3, resultList.size());
258 assertEquals("action1", resultList.get(0));
259 assertEquals("action2", resultList.get(1));
260 assertEquals("action3", resultList.get(2));
261
262 // Test the setting of text
263 String text = " + BulletTest ";
264 result = Conversion.Convert(appendLine, text, null);
265 assertEquals(1, result.length);
266 assertEquals(text, result[0]);
267
268 } catch (Exception e) {
269 fail();
270 e.printStackTrace();
271 }
272 }
273
274 public final void testConvertToExpeditee() {
275 try {
276 java.lang.reflect.Method getPosition = Item.class.getMethod(
277 "getPosition", new Class[] {});
278 java.lang.reflect.Method getJustification = Text.class.getMethod(
279 "getJustification", new Class[] {});
280
281 assertEquals('C', Conversion.ConvertToExpeditee(getJustification,
282 Justification.center));
283
284 assertEquals("Test", Conversion.ConvertToExpeditee(getPosition,
285 (Object) "Test"));
286 assertEquals("0", Conversion.ConvertToExpeditee(getPosition,
287 (Object) 0));
288 assertEquals("0.0", Conversion.ConvertToExpeditee(getPosition,
289 (Object) 0.0F));
290 assertEquals(null, Conversion.ConvertToExpeditee(getPosition,
291 (new Integer(-1))));
292 assertEquals(null, Conversion.ConvertToExpeditee(getPosition,
293 (new Float(-0.1F))));
294 assertEquals(null, Conversion.ConvertToExpeditee(getPosition,
295 (new Boolean(true))));
296 assertEquals("F", Conversion.ConvertToExpeditee(getPosition,
297 (new Boolean(false))));
298 assertEquals(null, Conversion.ConvertToExpeditee(getPosition,
299 (new int[] {})));
300 assertEquals("1 22 333", Conversion.ConvertToExpeditee(getPosition,
301 (new int[] { 1, 22, 333 })));
302
303 assertEquals("22 44", Conversion.ConvertToExpeditee(getPosition,
304 (new Point(22, 44))));
305
306 assertEquals("100 0 0", Conversion.ConvertToExpeditee(getPosition,
307 Color.red));
308
309 assertEquals(null, Conversion.ConvertToExpeditee(getPosition, null));
310 List<String> testList = new ArrayList<String>();
311 testList.add("test");
312
313 assertEquals(testList, Conversion.ConvertToExpeditee(getPosition,
314 testList));
315
316 Font testFont = new Font(Text.FONT_WHEEL[1], Font.BOLD, 18);
317 String result = Text.FONT_CHARS[1] + "b18";
318 assertEquals(result, Conversion.ConvertToExpeditee(getPosition,
319 testFont));
320 } catch (Exception e) {
321 e.printStackTrace();
322 fail();
323 }
324 }
325
326 public final void testGetCssColor() {
327 assertEquals("rgb(255,0,0)", Conversion.getCssColor(Color.red));
328 assertEquals("rgb(255,0,255)", Conversion.getCssColor(Color.magenta));
329 assertEquals("rgb(128,128,128)", Conversion.getCssColor(Color.gray));
330 }
331}
Note: See TracBrowser for help on using the repository browser.