diff options
| author | Brian S. O'Neill <bronee@gmail.com> | 2008-07-20 22:24:30 +0000 |
|---|---|---|
| committer | Brian S. O'Neill <bronee@gmail.com> | 2008-07-20 22:24:30 +0000 |
| commit | 6e54671ace39adb30f0b6179eaba6c3aaa958496 (patch) | |
| tree | e2dcd50b752a96b3209d8725f04e5819fe4175dd | |
| parent | ed2af862bd5ac610a0ff7666afb824f29eb67306 (diff) | |
Added normalization option for BigDecimal properties.
| -rw-r--r-- | src/test/java/com/amazon/carbonado/TestStorables.java | 26 |
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); |
