Files
Upsilon/poincare/test/float.cpp
Émilie Feral bac174ebfc [poincare] In float, add method to convert float to text
Change-Id: I9a85c02e0b2843ee999847b821b9d24f1452eb5d
2016-10-14 12:06:00 +02:00

27 lines
1014 B
C++

#include <quiz.h>
#include <poincare.h>
#include <string.h>
#include <assert.h>
QUIZ_CASE(poincare_float_to_text) {
char buffer [14];
Float(123.456).convertFloatToText(buffer, 14, 7);
assert(strcmp(buffer, "1.23456e2") == 0);
Float(1.234567891011).convertFloatToText(buffer, 14, 7);
assert(strcmp(buffer, "1.234567e0") == 0);
Float(2).convertFloatToText(buffer, 14, 7);
assert(strcmp(buffer, "2.e0") == 0);
Float(123456789).convertFloatToText(buffer, 14, 7);
assert(strcmp(buffer, "1.234567e8") == 0);
Float(0.00000123456789).convertFloatToText(buffer, 14, 7);
assert(strcmp(buffer, "1.234567e-6") == 0);
Float(0.99).convertFloatToText(buffer, 14, 7);
assert(strcmp(buffer, "9.9e-1") == 0);
Float(-123.456789).convertFloatToText(buffer, 14, 7);
assert(strcmp(buffer, "-1.234567e2") == 0);
Float(-0.000123456789).convertFloatToText(buffer, 14, 7);
assert(strcmp(buffer, "-1.234567e-4") == 0);
Float(0).convertFloatToText(buffer, 14, 7);
assert(strcmp(buffer, "0.e0") == 0);
}