diff options
Diffstat (limited to 'config-model-api/src/test/java/com/yahoo/config/model/api/QuotaTest.java')
-rw-r--r-- | config-model-api/src/test/java/com/yahoo/config/model/api/QuotaTest.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/config-model-api/src/test/java/com/yahoo/config/model/api/QuotaTest.java b/config-model-api/src/test/java/com/yahoo/config/model/api/QuotaTest.java new file mode 100644 index 00000000000..83d4ffbbe72 --- /dev/null +++ b/config-model-api/src/test/java/com/yahoo/config/model/api/QuotaTest.java @@ -0,0 +1,41 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.config.model.api; + +import com.yahoo.slime.SlimeUtils; +import org.junit.Test; + + +import java.math.BigDecimal; + +import static org.junit.Assert.assertEquals; + +public class QuotaTest { + + @Test + public void test_serialization_with_integers() { + var json = "{\"budget\": 123}"; + var slime = SlimeUtils.jsonToSlime(json); + var quota = Quota.fromSlime(slime.get()); + assertEquals((Integer) 123, quota.budget().get()); + assertEquals(123, quota.budgetAsDecimal().get().intValueExact()); + } + + @Test + public void test_serialization_with_floats() { + var json = "{\"budget\": 123.4}"; + var slime = SlimeUtils.jsonToSlime(json); + var quota = Quota.fromSlime(slime.get()); + assertEquals((Integer) 123, quota.budget().get()); + assertEquals(123.4, quota.budgetAsDecimal().get().doubleValue(), 0.01); + } + + @Test + public void test_serialization_with_string() { + var json = "{\"budget\": \"123.4\"}"; + var slime = SlimeUtils.jsonToSlime(json); + var quota = Quota.fromSlime(slime.get()); + assertEquals((Integer) 123, quota.budget().get()); + assertEquals(new BigDecimal("123.4"), quota.budgetAsDecimal().get()); + } + +} |