1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* LongIdentityTest.java
*
*/
package javax.jdo.identity;
import javax.jdo.JDONullIdentityException;
import javax.jdo.util.BatchTestRunner;
/**
*
*/
public class LongIdentityTest extends SingleFieldIdentityTest {
/** Creates a new instance of LongIdentityTest */
public LongIdentityTest() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
BatchTestRunner.run(LongIdentityTest.class);
}
public void testConstructor() {
LongIdentity c1 = new LongIdentity(Object.class, 1);
LongIdentity c2 = new LongIdentity(Object.class, 1);
LongIdentity c3 = new LongIdentity(Object.class, 2);
LongIdentity c4 = new LongIdentity(Object.class, 0x100000001L);
assertEquals("Equal LongIdentity instances compare not equal.", c1, c2);
assertFalse ("Not equal LongIdentity instances compare equal", c1.equals(c3));
assertFalse ("Not equal LongIdentity instances compare equal", c4.equals(c1));
}
public void testLongConstructor() {
LongIdentity c1 = new LongIdentity(Object.class, 1);
LongIdentity c2 = new LongIdentity(Object.class, new Long(1));
LongIdentity c3 = new LongIdentity(Object.class, new Long(2));
assertEquals ("Equal LongIdentity instances compare not equal.", c1, c2);
assertFalse ("Not equal LongIdentity instances compare equal", c1.equals(c3));
}
public void testToStringConstructor() {
LongIdentity c1 = new LongIdentity(Object.class, Long.MAX_VALUE);
LongIdentity c2 = new LongIdentity(Object.class, c1.toString());
assertEquals ("Equal LongIdentity instances compare not equal.", c1, c2);
}
public void testStringConstructor() {
LongIdentity c1 = new LongIdentity(Object.class, 1);
LongIdentity c2 = new LongIdentity(Object.class, "1");
LongIdentity c3 = new LongIdentity(Object.class, "2");
assertEquals ("Equal LongIdentity instances compare not equal.", c1, c2);
assertFalse ("Not equal LongIdentity instances compare equal", c1.equals(c3));
}
public void testIllegalStringConstructor() {
try {
LongIdentity c1 = new LongIdentity(Object.class, "b");
} catch (IllegalArgumentException iae) {
return; // good
}
fail ("No exception caught for illegal String.");
}
public void testSerialized() {
LongIdentity c1 = new LongIdentity(Object.class, 1);
LongIdentity c2 = new LongIdentity(Object.class, "1");
LongIdentity c3 = new LongIdentity(Object.class, "2");
Object[] scis = writeReadSerialized(new Object[] {c1, c2, c3});
Object sc1 = scis[0];
Object sc2 = scis[1];
Object sc3 = scis[2];
assertEquals ("Equal LongIdentity instances compare not equal.", c1, sc1);
assertEquals ("Equal LongIdentity instances compare not equal.", c2, sc2);
assertEquals ("Equal LongIdentity instances compare not equal.", sc1, c2);
assertEquals ("Equal LongIdentity instances compare not equal.", sc2, c1);
assertFalse ("Not equal LongIdentity instances compare equal.", c1.equals(sc3));
assertFalse ("Not equal LongIdentity instances compare equal.", sc1.equals(c3));
assertFalse ("Not equal LongIdentity instances compare equal.", sc1.equals(sc3));
assertFalse ("Not equal LongIdentity instances compare equal.", sc3.equals(sc1));
}
public void testGetKeyAsObjectPrimitive() {
LongIdentity c1 = new LongIdentity(Object.class, 1L);
assertEquals("keyAsObject doesn't match.", c1.getKeyAsObject(), new Long(1L));
}
public void testGetKeyAsObject() {
LongIdentity c1 = new LongIdentity(Object.class, new Long(1L));
assertEquals("keyAsObject doesn't match.", c1.getKeyAsObject(), new Long(1L));
}
public void testBadConstructorNullShortParam() {
try {
LongIdentity c1 = new LongIdentity(Object.class, (Long)null);
} catch (JDONullIdentityException ex) {
return;
}
fail ("Failed to catch expected exception.");
}
public void testBadConstructorNullStringParam() {
try {
LongIdentity c1 = new LongIdentity(Object.class, (String)null);
} catch (JDONullIdentityException ex) {
return;
}
fail ("Failed to catch expected exception.");
}
public void testCompareTo() {
LongIdentity c1 = new LongIdentity(Object.class, 1);
LongIdentity c2 = new LongIdentity(Object.class, 1);
LongIdentity c3 = new LongIdentity(Object.class, 2);
LongIdentity c4 = new LongIdentity(Class.class, 1);
LongIdentity c5 = new LongIdentity(Object.class, 0x100000001L);
assertEquals("Equal LongIdentity instances compare not equal.", 0, c1.compareTo(c2));
assertTrue("Not equal LongIdentity instances have wrong compareTo result", c1.compareTo(c3) < 0);
assertTrue("Not equal LongIdentity instances have wrong compareTo result", c3.compareTo(c1) > 0);
assertTrue("Not equal LongIdentity instances have wrong compareTo result", c1.compareTo(c4) > 0);
assertTrue("Not equal LongIdentity instances have wrong compareTo result", c5.compareTo(c1) > 0);
}
}
|