Home | History | Annotate | Download | only in intltest
      1 //  2017 and later: Unicode, Inc. and others.
      2 // License & terms of use: http://www.unicode.org/copyright.html
      3 
      4 #include "unicode/utypes.h"
      5 
      6 #if !UCONFIG_NO_FORMATTING
      7 
      8 #include "numbertest.h"
      9 #include "double-conversion.h"
     10 
     11 using namespace double_conversion;
     12 
     13 void DoubleConversionTest::runIndexedTest(int32_t index, UBool exec, const char *&name, char *) {
     14     if (exec) {
     15         logln("TestSuite DoubleConversionTest: ");
     16     }
     17     TESTCASE_AUTO_BEGIN;
     18         TESTCASE_AUTO(testDoubleConversionApi);
     19     TESTCASE_AUTO_END;
     20 }
     21 
     22 void DoubleConversionTest::testDoubleConversionApi() {
     23     double v = 87.65;
     24     char buffer[DoubleToStringConverter::kBase10MaximalLength + 1];
     25     bool sign;
     26     int32_t length;
     27     int32_t point;
     28 
     29     DoubleToStringConverter::DoubleToAscii(
     30         v,
     31         DoubleToStringConverter::DtoaMode::SHORTEST,
     32         0,
     33         buffer,
     34         sizeof(buffer),
     35         &sign,
     36         &length,
     37         &point
     38     );
     39 
     40     UnicodeString result(buffer, length);
     41     assertEquals("Digits", u"8765", result);
     42     assertEquals("Scale", 2, point);
     43 }
     44 
     45 #endif /* #if !UCONFIG_NO_FORMATTING */
     46