summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian S. O'Neill <bronee@gmail.com>2008-07-20 22:24:30 +0000
committerBrian S. O'Neill <bronee@gmail.com>2008-07-20 22:24:30 +0000
commit6e54671ace39adb30f0b6179eaba6c3aaa958496 (patch)
treee2dcd50b752a96b3209d8725f04e5819fe4175dd /src
parented2af862bd5ac610a0ff7666afb824f29eb67306 (diff)
Added normalization option for BigDecimal properties.
Diffstat (limited to 'src')
-rw-r--r--src/test/java/com/amazon/carbonado/TestStorables.java26
1 files changed, 23 insertions, 3 deletions
diff --git a/src/test/java/com/amazon/carbonado/TestStorables.java b/src/test/java/com/amazon/carbonado/TestStorables.java
index f630193..9d05056 100644
--- a/src/test/java/com/amazon/carbonado/TestStorables.java
+++ b/src/test/java/com/amazon/carbonado/TestStorables.java
@@ -3053,18 +3053,24 @@ public class TestStorables extends TestCase {
}
public void test_BigDecimal() throws Exception {
+ BigDecimal bd = new BigDecimal("12345678901234567890.1234567890");
+ BigDecimal normalized = bd.stripTrailingZeros();
+
Storage<WithBigDecimal> storage = getRepository().storageFor(WithBigDecimal.class);
WithBigDecimal s = storage.prepare();
s.setId(1);
- BigDecimal bd = new BigDecimal("12345678901234567890.1234567890");
s.setNumber(bd);
s.insert();
+ // Ensure insert behaves as if Storable was reloaded.
+ assertEquals(normalized, s.getNumber());
+
s = storage.prepare();
s.setId(1);
s.load();
- assertEquals(bd, s.getNumber());
+ assertFalse(bd.equals(s.getNumber()));
+ assertEquals(normalized, s.getNumber());
s = storage.prepare();
s.setId(2);
@@ -3082,7 +3088,21 @@ public class TestStorables extends TestCase {
s = query.with(bd).loadOne();
assertEquals(1, s.getId());
- assertEquals(bd, s.getNumber());
+ assertFalse(bd.equals(s.getNumber()));
+ assertEquals(normalized, s.getNumber());
+
+ BigDecimal bd2 = new BigDecimal("123.0");
+ BigDecimal nm2 = bd2.stripTrailingZeros();
+
+ s.setNumber(bd2);
+ s.update();
+
+ // Ensure update behaves as if Storable was reloaded.
+ assertEquals(nm2, s.getNumber());
+
+ s.load();
+ assertFalse(bd2.equals(s.getNumber()));
+ assertEquals(nm2, s.getNumber());
s = query.with(BigDecimal.ZERO).tryLoadOne();
assertEquals(null, s);