static void testRawDecimal() { JSONParse parser = new JSONParse("17.22"); System.assertEquals(false, parser.isObject()); System.assertEquals(false, parser.isArray()); System.assertEquals(17.22m, parser.getDecimalValue()); }
static void testRawNumberWithENotation() { JSONParse parser = new JSONParse("1.2483e+2"); System.assertEquals(false, parser.isObject()); System.assertEquals(false, parser.isArray()); System.assertEquals(124.83m, parser.getDecimalValue()); }
static void testGetDecimalValue() { JSONParse parser = new JSONParse("12"); System.assertEquals(12.0m, parser.getDecimalValue()); parser = new JSONParse("12.5"); System.assertEquals(12.5m, parser.getDecimalValue()); parser = new JSONParse("\"12.5\""); System.assertEquals(12.5m, parser.getDecimalValue()); parser = new JSONParse("1538783039073"); System.assertEquals(1538783039073.0m, parser.getDecimalValue()); try { parser = new JSONParse("[1,2,3]"); parser.getDecimalValue(); System.assert(false, "Node is not a valid Decimal, should have seen an exception about that."); } catch (JSONParse.InvalidConversionException e) { System.assertEquals("This value cannot be converted to a Decimal: [ 1, 2, 3 ]", e.getMessage()); } }