1 package org.apache.torque.om;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Arrays;
23
24 import junit.framework.Assert;
25 import junit.framework.TestCase;
26
27 /***
28 * Currently just tests the equality of NumberKey.
29 *
30 * @author <a href="mailto:stephenh@chase3000.com">Stephen Haberman</a>
31 * @version $Id: NumberKeyTest.java 473821 2006-11-11 22:37:25Z tv $
32 */
33 public class NumberKeyTest extends TestCase
34 {
35
36 /*** Test value. */
37 private NumberKey n1a = new NumberKey(1);
38 /*** Test value. */
39 private NumberKey n1b = new NumberKey(1);
40 /*** Test value. */
41 private NumberKey n1c = new NumberKey(1);
42 /*** Test value. */
43 private NumberKey n2a = new NumberKey(2);
44
45 /***
46 * Simple constructor.
47 *
48 * @param name the name of the test to execute
49 */
50 public NumberKeyTest(String name)
51 {
52 super(name);
53 }
54
55 /***
56 * Test a.equals(a)
57 */
58 public void testReflexive()
59 {
60 Assert.assertTrue(n1a.equals(n1a));
61 }
62
63 /***
64 * Test a.equals(b) = b.equals(a)
65 */
66 public void testSymmetric()
67 {
68 Assert.assertTrue(n1a.equals(n1b));
69 Assert.assertTrue(n1b.equals(n1a));
70
71 Assert.assertTrue(!"1".equals(n1a));
72
73
74
75
76 try
77 {
78 Assert.assertTrue(!n1a.equals("1"));
79 }
80 catch (IllegalArgumentException e)
81 {
82
83 }
84 Assert.assertTrue(!n1a.equals(new Integer(1)));
85 Assert.assertTrue(!new Integer(1).equals(n1a));
86 }
87
88 /***
89 * Test a.equals(b) = b.equals(c) = c.equals(a)
90 */
91 public void testTransitive()
92 {
93 Assert.assertTrue(n1a.equals(n1b));
94 Assert.assertTrue(n1b.equals(n1c));
95 Assert.assertTrue(n1c.equals(n1a));
96 }
97
98 /***
99 * Test !a.equals(null)
100 */
101 public void testNull()
102 {
103 Assert.assertTrue(!n1a.equals(null));
104 }
105
106 /***
107 * Test sorting.
108 */
109 public void testList()
110 {
111 Object[] array = new Object[] { n1a, n2a, n1b };
112 Arrays.sort(array);
113
114 Assert.assertEquals(n1a, array[0]);
115 Assert.assertEquals(n1b, array[1]);
116 Assert.assertEquals(n2a, array[2]);
117 }
118
119 /***
120 * Test long constructor
121 */
122 public void testLongConstructor()
123 {
124 NumberKey key = new NumberKey(9900000000000001L);
125 assertEquals("9900000000000001", key.toString());
126 }
127 }