Number of digits is now a template parameter

This commit is contained in:
Benoît Blanchon
2014-07-07 13:24:14 +02:00
parent 4e6ad31d6a
commit be6c4bf4d1
6 changed files with 58 additions and 56 deletions

View File

@ -73,28 +73,28 @@ namespace JsonGeneratorTests
write("\t");
assertResultIs("\"\\t\"");
}
/*
TEST_METHOD(DoubleDefaultDigits)
{
write(3.14159265358979323846);
assertResultIs("3.14");
}
}*/
TEST_METHOD(DoubleZeroDigits)
{
write(3.14159265358979323846, 0);
write<0>(3.14159265358979323846);
assertResultIs("3");
}
TEST_METHOD(DoubleOneDigit)
{
write(3.14159265358979323846, 1);
write<1>(3.14159265358979323846);
assertResultIs("3.1");
}
TEST_METHOD(DoubleTwoDigits)
{
write(3.14159265358979323846, 2);
write<2>(3.14159265358979323846);
assertResultIs("3.14");
}
@ -120,13 +120,18 @@ namespace JsonGeneratorTests
void write(T value)
{
StringBuilder sb(buffer, sizeof(buffer));
returnValue = JsonValue(value).printTo(sb);
JsonValue jsonValue;
jsonValue.set(value);
returnValue = jsonValue.printTo(sb);
}
void write(double value, int digits)
template<int DIGITS>
void write(double value)
{
StringBuilder sb(buffer, sizeof(buffer));
returnValue = JsonValue(value, digits).printTo(sb);
JsonValue jsonValue;
jsonValue.set<DIGITS>(value);
returnValue = jsonValue.printTo(sb);
}
void assertResultIs(const char* expected)