summaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorBrian S. O'Neill <bronee@gmail.com>2009-02-26 17:39:28 +0000
committerBrian S. O'Neill <bronee@gmail.com>2009-02-26 17:39:28 +0000
commit42a1c5872f939485ffc5e5b23aea7833a8761af8 (patch)
tree2e19d918f456f3dc08dc153c1162d0d2a2a14415 /src/test/java
parent85bea59286d2f1de9c440bec2373ca1fa9ce09c2 (diff)
NPE fix when comparing nullable Float/Double/BigDecimal properties for equality.
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/amazon/carbonado/TestStorables.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/test/java/com/amazon/carbonado/TestStorables.java b/src/test/java/com/amazon/carbonado/TestStorables.java
index 484fe5a..4704cdc 100644
--- a/src/test/java/com/amazon/carbonado/TestStorables.java
+++ b/src/test/java/com/amazon/carbonado/TestStorables.java
@@ -561,6 +561,40 @@ public class TestStorables extends TestCase {
assertEquals(storable.getDoubleProp(), castedCopy.getDoubleProp());
}
+ public void test_equals() throws Exception {
+ // Make sure that tests against nullable properties is correct.
+ Storage<WithDerivedDoubleObjVersion> storage =
+ getRepository().storageFor(WithDerivedDoubleObjVersion.class);
+ WithDerivedDoubleObjVersion obj1 = storage.prepare();
+ WithDerivedDoubleObjVersion obj2 = storage.prepare();
+
+ assertTrue(obj1.equals(obj2));
+
+ obj1.setName("bob");
+ assertFalse(obj1.equals(obj2));
+ assertFalse(obj2.equals(obj1));
+
+ obj2.setName("bob");
+ assertTrue(obj1.equals(obj2));
+ assertTrue(obj2.equals(obj1));
+
+ obj2.markAllPropertiesClean();
+ assertTrue(obj1.equals(obj2));
+ assertTrue(obj2.equals(obj1));
+
+ obj1.setValue(1.1);
+ assertFalse(obj1.equals(obj2));
+ assertFalse(obj2.equals(obj1));
+
+ obj2.setValue(1.1);
+ assertTrue(obj1.equals(obj2));
+ assertTrue(obj2.equals(obj1));
+
+ obj2.setValue(1.2);
+ assertFalse(obj1.equals(obj2));
+ assertFalse(obj2.equals(obj1));
+ }
+
public void test_invalidStorables() throws Exception {
try {
getRepository().storageFor(StorableTestInvalid.class);