From a1cb9c9399938c267cb563334dc8705653910b8c Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Wed, 15 Oct 2014 13:48:26 +0200 Subject: [PATCH] Added methods to clarify the tests --- tests/JsonArray_Parser_Tests.cpp | 93 +++++++++++++++++++++----------- 1 file changed, 62 insertions(+), 31 deletions(-) diff --git a/tests/JsonArray_Parser_Tests.cpp b/tests/JsonArray_Parser_Tests.cpp index e8d5f1b2..ce355c0c 100644 --- a/tests/JsonArray_Parser_Tests.cpp +++ b/tests/JsonArray_Parser_Tests.cpp @@ -5,12 +5,46 @@ class JsonArray_Parser_Tests : public testing::Test { protected: - void parse(const char* json) + void whenInputIs(const char *json) { strcpy(_jsonString, json); _array = _jsonBuffer.parseArray(_jsonString); } + void parseMustSucceed() + { + EXPECT_TRUE(_array.success()); + } + + void parseMustFail() + { + EXPECT_FALSE(_array.success()); + EXPECT_EQ(0, _array.size()); + } + + void sizeMustBe(int expected) + { + EXPECT_EQ(expected, _array.size()); + } + + template + void firstElementMustBe(T expected) + { + elementAtIndexMustBe(0, expected); + } + + template + void secondElementMustBe(T expected) + { + elementAtIndexMustBe(1, expected); + } + + template + void elementAtIndexMustBe(int index, T expected) + { + EXPECT_EQ(expected, static_cast(_array[index])); + } + StaticJsonBuffer<42> _jsonBuffer; JsonArray _array; char _jsonString[256]; @@ -18,70 +52,67 @@ protected: TEST_F(JsonArray_Parser_Tests, EmptyArray) { - parse("[]"); + whenInputIs("[]"); - EXPECT_TRUE(_array.success()); - EXPECT_EQ(0, _array.size()); + parseMustSucceed(); + sizeMustBe(0); } TEST_F(JsonArray_Parser_Tests, ArrayWithNoEnd) { - parse("["); + whenInputIs("["); - EXPECT_FALSE(_array.success()); - EXPECT_EQ(0, _array.size()); + parseMustFail(); } TEST_F(JsonArray_Parser_Tests, EmptyArrayWithLeadingSpaces) { - parse(" []"); + whenInputIs(" []"); - EXPECT_TRUE(_array.success()); - EXPECT_EQ(0, _array.size()); + parseMustSucceed(); + sizeMustBe(0); } TEST_F(JsonArray_Parser_Tests, Garbage) { - parse("%*$£¤"); + whenInputIs("%*$£¤"); - EXPECT_FALSE(_array.success()); - EXPECT_EQ(0, _array.size()); + parseMustFail(); } TEST_F(JsonArray_Parser_Tests, OneInteger) { - parse("[42]"); + whenInputIs("[42]"); - EXPECT_TRUE(_array.success()); - EXPECT_EQ(1, _array.size()); - EXPECT_EQ(42, static_cast(_array[0])); + parseMustSucceed(); + sizeMustBe(1); + firstElementMustBe(42); } TEST_F(JsonArray_Parser_Tests, OneIntegerWithSpacesBefore) { - parse("[ \t\r\n42]"); + whenInputIs("[ \t\r\n42]"); - EXPECT_TRUE(_array.success()); - EXPECT_EQ(1, _array.size()); - EXPECT_EQ(42, static_cast(_array[0])); + parseMustSucceed(); + sizeMustBe(1); + firstElementMustBe(42); } TEST_F(JsonArray_Parser_Tests, OneIntegerWithSpaceAfter) { - parse("[42 \t\r\n]"); + whenInputIs("[42 \t\r\n]"); - EXPECT_TRUE(_array.success()); - EXPECT_EQ(1, _array.size()); - EXPECT_EQ(42, static_cast(_array[0])); + parseMustSucceed(); + sizeMustBe(1); + firstElementMustBe(42); } TEST_F(JsonArray_Parser_Tests, TwoIntegers) { - parse("[42,84]"); + whenInputIs("[42,84]"); - EXPECT_TRUE(_array.success()); - - EXPECT_EQ(2, _array.size()); - EXPECT_EQ(42, static_cast(_array[0])); - EXPECT_EQ(84, static_cast(_array[1])); + parseMustSucceed(); + sizeMustBe(2); + firstElementMustBe(42); + secondElementMustBe(84); } \ No newline at end of file