From 3c51017e4a0ae4fb49b5970fb0e22770a082a65f Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Tue, 11 Nov 2014 17:26:51 +0100 Subject: [PATCH] Added tests fo JsonVariant::printTo() --- test/JsonVariant_PrintTo_Tests.cpp | 72 ++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 test/JsonVariant_PrintTo_Tests.cpp diff --git a/test/JsonVariant_PrintTo_Tests.cpp b/test/JsonVariant_PrintTo_Tests.cpp new file mode 100644 index 00000000..bd491f10 --- /dev/null +++ b/test/JsonVariant_PrintTo_Tests.cpp @@ -0,0 +1,72 @@ +// Copyright Benoit Blanchon 2014 +// MIT License +// +// Arduino JSON library +// https://github.com/bblanchon/ArduinoJson + +#include +#include + +class JsonVariant_PrintTo_Tests : public testing::Test { + protected: + JsonVariant variant; + + void outputMustBe(const char *expected) { + char buffer[256] = ""; + size_t n = variant.printTo(buffer, sizeof(buffer)); + EXPECT_STREQ(expected, buffer); + EXPECT_EQ(strlen(expected), n); + } +}; + +TEST_F(JsonVariant_PrintTo_Tests, Empty) { outputMustBe(""); } + +TEST_F(JsonVariant_PrintTo_Tests, Null) { + variant = static_cast(0); + outputMustBe("null"); +} + +TEST_F(JsonVariant_PrintTo_Tests, String) { + variant = "hello"; + outputMustBe("\"hello\""); +} + +TEST_F(JsonVariant_PrintTo_Tests, DoubleZero) { + variant = 0.0; + outputMustBe("0.0"); +} + +TEST_F(JsonVariant_PrintTo_Tests, DoubleDefaultDigits) { + variant = 3.14159265358979323846; + outputMustBe("3.14"); +} + +TEST_F(JsonVariant_PrintTo_Tests, DoubleFourDigits) { + variant.set(3.14159265358979323846, 4); + outputMustBe("3.1416"); +} + +TEST_F(JsonVariant_PrintTo_Tests, Integer) { + variant = 42; + outputMustBe("42"); +} + +TEST_F(JsonVariant_PrintTo_Tests, Long) { + variant = 42L; + outputMustBe("42"); +} + +TEST_F(JsonVariant_PrintTo_Tests, Char) { + variant = '*'; + outputMustBe("42"); +} + +TEST_F(JsonVariant_PrintTo_Tests, True) { + variant = true; + outputMustBe("true"); +} + +TEST_F(JsonVariant_PrintTo_Tests, OneFalse) { + variant = false; + outputMustBe("false"); +}