From b5bf3b0bbc0f0abfd72cb72ac107a423bbe4fdd1 Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Wed, 15 May 2019 16:41:14 +0200 Subject: [PATCH] [poincare/test/number] Test that long decimals 0.999...9 are rounded off to 1 --- poincare/test/number.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/poincare/test/number.cpp b/poincare/test/number.cpp index 8bb30e4b2..922190419 100644 --- a/poincare/test/number.cpp +++ b/poincare/test/number.cpp @@ -27,6 +27,12 @@ QUIZ_CASE(poincare_number_parser) { assert_parsed_expression_is("123456789012345.2", Decimal::Builder(Integer("12345678901235"), 14)); assert_parsed_expression_is("123456789012341.2", Decimal::Builder(Integer("12345678901234"), 14)); assert_parsed_expression_is("12.34567", Decimal::Builder(Integer("1234567"), 1)); + assert_parsed_expression_is(".999999999999990", Decimal::Builder(Integer("99999999999999"), -1)); + assert_parsed_expression_is("9.99999999999994", Decimal::Builder(Integer("99999999999999"), 0)); + assert_parsed_expression_is("99.9999999999995", Decimal::Builder(Integer("100000000000000"), 2)); + assert_parsed_expression_is("999.999999999999", Decimal::Builder(Integer("100000000000000"), 3)); + assert_parsed_expression_is("9999.99199999999", Decimal::Builder(Integer("99999920000000"), 3)); + assert_parsed_expression_is("99299.9999999999", Decimal::Builder(Integer("99300000000000"), 4)); // Infinity assert_parsed_expression_is("23ᴇ1000", Infinity::Builder(false));