diff --git a/poincare/test/complex.cpp b/poincare/test/complex.cpp index fd3cee27e..d3ea1b7d1 100644 --- a/poincare/test/complex.cpp +++ b/poincare/test/complex.cpp @@ -2,66 +2,68 @@ #include #include #include +#include #include using namespace Poincare; +constexpr Expression::FloatDisplayMode Decimal = Expression::FloatDisplayMode::Decimal; +constexpr Expression::FloatDisplayMode Scientific = Expression::FloatDisplayMode::Scientific; + +void assert_float_converts_to(float f, const char * result, Expression::FloatDisplayMode mode = Scientific, int significantDigits = 7, int bufferSize = 14) { + int tagSize = 8; + unsigned char tag = 'X'; + char * taggedBuffer = (char *)malloc(bufferSize+2*tagSize); + memset(taggedBuffer, tag, bufferSize+2*tagSize); + char * buffer = taggedBuffer + tagSize; + + Complex::convertFloatToText(f, buffer, bufferSize, significantDigits, mode); + + for (int i=0; i