1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package javax.jdo.identity;
24
25 import javax.jdo.JDONullIdentityException;
26 import javax.jdo.JDOUserException;
27
28 import javax.jdo.util.BatchTestRunner;
29
30 /**
31 *
32 */
33 public class StringIdentityTest extends SingleFieldIdentityTest {
34
35 /** Creates a new instance of StringIdentityTest */
36 public StringIdentityTest() {
37 }
38
39 /**
40 * @param args the command line arguments
41 */
42 public static void main(String[] args) {
43 BatchTestRunner.run(StringIdentityTest.class);
44 }
45
46 public void testConstructor() {
47 StringIdentity c1 = new StringIdentity(Object.class, "1");
48 StringIdentity c2 = new StringIdentity(Object.class, "1");
49 StringIdentity c3 = new StringIdentity(Object.class, "2");
50 assertEquals("Equal StringIdentity instances compare not equal.", c1, c2);
51 assertFalse ("Not equal StringIdentity instances compare equal", c1.equals(c3));
52 }
53
54 public void testToStringConstructor() {
55 StringIdentity c1 = new StringIdentity(Object.class, "Now who's talking!");
56 StringIdentity c2 = new StringIdentity(Object.class, c1.toString());
57 assertEquals ("Equal StringIdentity instances compare not equal.", c1, c2);
58 }
59
60 public void testSerialized() {
61 StringIdentity c1 = new StringIdentity(Object.class, "1");
62 StringIdentity c2 = new StringIdentity(Object.class, "1");
63 StringIdentity c3 = new StringIdentity(Object.class, "2");
64 Object[] scis = writeReadSerialized(new Object[] {c1, c2, c3});
65 Object sc1 = scis[0];
66 Object sc2 = scis[1];
67 Object sc3 = scis[2];
68 assertEquals ("Equal StringIdentity instances compare not equal.", c1, sc1);
69 assertEquals ("Equal StringIdentity instances compare not equal.", c2, sc2);
70 assertEquals ("Equal StringIdentity instances compare not equal.", sc1, c2);
71 assertEquals ("Equal StringIdentity instances compare not equal.", sc2, c1);
72 assertFalse ("Not equal StringIdentity instances compare equal.", c1.equals(sc3));
73 assertFalse ("Not equal StringIdentity instances compare equal.", sc1.equals(c3));
74 assertFalse ("Not equal StringIdentity instances compare equal.", sc1.equals(sc3));
75 assertFalse ("Not equal StringIdentity instances compare equal.", sc3.equals(sc1));
76 }
77
78 public void testGetKeyAsObject() {
79 StringIdentity c1 = new StringIdentity(Object.class, "1");
80 assertEquals("keyAsObject doesn't match.", c1.getKeyAsObject(), "1");
81 }
82
83 public void testBadConstructorNullParam() {
84 try {
85 StringIdentity c1 = new StringIdentity(Object.class, null);
86 } catch (JDONullIdentityException ex) {
87 return;
88 }
89 fail ("Failed to catch expected exception.");
90 }
91
92 public void testCompareTo() {
93 StringIdentity c1 = new StringIdentity(Object.class, "1");
94 StringIdentity c2 = new StringIdentity(Object.class, "1");
95 StringIdentity c3 = new StringIdentity(Object.class, "2");
96 StringIdentity c4 = new StringIdentity(Class.class, "1");
97 assertEquals("Equal StringIdentity instances compare not equal.", 0, c1.compareTo(c2));
98 assertTrue("Not equal StringIdentity instances have wrong compareTo result", c1.compareTo(c3) < 0);
99 assertTrue("Not equal StringIdentity instances have wrong compareTo result", c3.compareTo(c1) > 0);
100 assertTrue("Not equal StringIdentity instances have wrong compareTo result", c1.compareTo(c4) > 0);
101 }
102 }