1
2
3
4 package org.melati.admin.test;
5
6 import java.lang.reflect.Method;
7 import java.math.BigDecimal;
8
9 import org.melati.admin.PoemGvisType;
10 import org.melati.poem.PoemTypeFactory;
11
12 import junit.framework.TestCase;
13
14
15
16
17
18
19 public class PoemGvisTypeTest extends TestCase {
20
21 public final void testPoemGvisType() {
22 }
23
24 public final void testGvisType() {
25 assertEquals("\"fred\"", PoemGvisType.from(PoemTypeFactory.STRING.getCode()).jsonValue("fred"));
26 assertEquals("\"fred\"", PoemGvisType.from(-7).jsonValue("fred"));
27 assertEquals("1", PoemGvisType.from(PoemTypeFactory.INTEGER.getCode()).jsonValue(new Integer(1)));
28 assertEquals("1", PoemGvisType.from(-6).jsonValue(new Integer(1)));
29
30 for (PoemGvisType type : PoemGvisType.values()) {
31 assertEquals(
32 PoemTypeFactory.forCode(null, type.getPoemType()).getDisplayName(),
33 type.getPeomTypeFactory().getDisplayName());
34 }
35 assertEquals("1", PoemGvisType.from(-6).jsonValue(new Integer(1)));
36
37
38 assertEquals("number", PoemGvisType.TROID.gvisJsonTypeName());
39 assertEquals("boolean", PoemGvisType.DELETED.gvisJsonTypeName());
40 }
41
42 public final void testTypeName() {
43 assertEquals("number", PoemGvisType.TROID.gvisJsonTypeName());
44 assertEquals("boolean", PoemGvisType.DELETED.gvisJsonTypeName());
45 assertEquals("number", PoemGvisType.TYPE.gvisJsonTypeName());
46 assertEquals("boolean", PoemGvisType.BOOLEAN.gvisJsonTypeName());
47 assertEquals("number", PoemGvisType.INTEGER.gvisJsonTypeName());
48 assertEquals("number", PoemGvisType.DOUBLE.gvisJsonTypeName());
49 assertEquals("number", PoemGvisType.LONG.gvisJsonTypeName());
50 assertEquals("number", PoemGvisType.BIGDECIMAL.gvisJsonTypeName());
51 assertEquals("string", PoemGvisType.STRING.gvisJsonTypeName());
52 assertEquals("string", PoemGvisType.PASSWORD.gvisJsonTypeName());
53 assertEquals("date", PoemGvisType.DATE.gvisJsonTypeName());
54 assertEquals("datetime", PoemGvisType.TIMESTAMP.gvisJsonTypeName());
55 assertEquals("timeofday", PoemGvisType.TIME.gvisJsonTypeName());
56 try {
57 PoemGvisType.BINARY.gvisJsonTypeName();
58 fail("Should have bombed");
59 } catch (IllegalArgumentException e) {
60 e = null;
61 }
62 assertEquals("number", PoemGvisType.DISPLAYLEVEL.gvisJsonTypeName());
63 assertEquals("number", PoemGvisType.SEARCHABILITY.gvisJsonTypeName());
64 assertEquals("number", PoemGvisType.INTEGRITYFIX.gvisJsonTypeName());
65
66 }
67
68 public void testJsonValue() {
69 assertEquals("\"1\"", PoemGvisType.TROID.jsonValue(new Integer(1)));
70 assertEquals("1.0", PoemGvisType.DOUBLE.jsonValue(new Double(1)));
71 assertEquals("1", PoemGvisType.LONG.jsonValue(new Long(1)));
72 assertEquals("1", PoemGvisType.BIGDECIMAL.jsonValue(new BigDecimal(1)));
73 assertEquals("true", PoemGvisType.DELETED.jsonValue(true));
74
75 for (PoemGvisType type : PoemGvisType.values()) {
76 assertEquals("null", type.jsonValue(null));
77 }
78 }
79
80 public void testExcerciseHiddenGeneratedCode() {
81 for (PoemGvisType type : PoemGvisType.values()) {
82 assertEquals("null", type.jsonValue(null));
83 }
84 for (PoemGvisType type : PoemGvisType.values()) {
85 assertEquals(type, PoemGvisType.valueOf(PoemGvisType.class, type.name()));
86 }
87 for (PoemGvisType type : PoemGvisType.values()) {
88 for (PoemGvisType type2 : PoemGvisType.values()) {
89 if (type.compareTo(type2) > 0)
90 assertTrue(type.ordinal() > type2.ordinal());
91 }
92 }
93 assertTrue(PoemGvisType.class.isEnum());
94
95 for (Method m : PoemGvisType.class.getMethods()) {
96 System.out.println(m.toGenericString());
97 }
98 }
99
100 }