From 38596fbedd476f27d21aa65359071e6cf4690e2f Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Thu, 4 May 2017 00:12:18 +0200 Subject: [PATCH] [poincare] DRY-up the Complex::convertFloatToText tests Change-Id: Ie3a44c288832ec5153fe0ed7d3de094d3dcf519a --- poincare/test/complex.cpp | 108 +++++++++++++++++++------------------- 1 file changed, 55 insertions(+), 53 deletions(-) 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