diff options
Diffstat (limited to 'src')
| -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);  | 
