Added tests of StaticJsonBuffer

This commit is contained in:
Benoit Blanchon
2014-11-05 13:45:30 +01:00
parent 95e564bfb6
commit cb97e1fa19
2 changed files with 59 additions and 12 deletions

View File

@ -0,0 +1,59 @@
// Copyright Benoit Blanchon 2014
// MIT License
//
// Arduino JSON library
// https://github.com/bblanchon/ArduinoJson
#include <gtest/gtest.h>
#define protected public
#include <ArduinoJson/StaticJsonBuffer.hpp>
using namespace ArduinoJson;
class StaticJsonBuffer_Basic_Tests : public testing::Test {
protected:
StaticJsonBuffer<42> buffer;
};
TEST_F(StaticJsonBuffer_Basic_Tests, CapacityMatchTemplateParameter) {
ASSERT_EQ(42, buffer.capacity());
}
TEST_F(StaticJsonBuffer_Basic_Tests, InitialSizeIsZero) {
ASSERT_EQ(0, buffer.size());
}
TEST_F(StaticJsonBuffer_Basic_Tests, GrowsAfterAlloc) {
buffer.alloc(1);
ASSERT_EQ(1, buffer.size());
buffer.alloc(1);
ASSERT_EQ(2, buffer.size());
}
TEST_F(StaticJsonBuffer_Basic_Tests, DoesntGrowWhenFull) {
buffer.alloc(42);
buffer.alloc(1);
ASSERT_EQ(42, buffer.size());
}
TEST_F(StaticJsonBuffer_Basic_Tests, DoesntGrowWhenTooSmall) {
buffer.alloc(43);
ASSERT_EQ(0, buffer.size());
}
TEST_F(StaticJsonBuffer_Basic_Tests, ReturnsNonNull) {
void *p = buffer.alloc(42);
ASSERT_NE(static_cast<void *>(0), p);
}
TEST_F(StaticJsonBuffer_Basic_Tests, ReturnsNullWhenFull) {
buffer.alloc(42);
void *p = buffer.alloc(1);
ASSERT_EQ(NULL, p);
}
TEST_F(StaticJsonBuffer_Basic_Tests, ReturnsNullWhenTooSmall) {
void *p = buffer.alloc(43);
ASSERT_EQ(NULL, p);
}

View File

@ -15,18 +15,6 @@ const size_t SIZEOF_TWO_OBJECTS = 2 * SIZEOF_ONE_OBJECT;
const size_t SIZEOF_OBJECT_WITH_ONE_VALUE = JSON_OBJECT_SIZE(1); const size_t SIZEOF_OBJECT_WITH_ONE_VALUE = JSON_OBJECT_SIZE(1);
const size_t SIZEOF_OBJECT_WITH_TWO_VALUES = JSON_OBJECT_SIZE(2); const size_t SIZEOF_OBJECT_WITH_TWO_VALUES = JSON_OBJECT_SIZE(2);
TEST(StaticJsonBuffer_Object_Tests, CapacityMatchTemplateParameter) {
StaticJsonBuffer<42> json;
EXPECT_EQ(42, json.capacity());
}
TEST(StaticJsonBuffer_Object_Tests, InitialSizeIsZero) {
StaticJsonBuffer<42> json;
EXPECT_EQ(0, json.size());
}
TEST(StaticJsonBuffer_Object_Tests, TEST(StaticJsonBuffer_Object_Tests,
WhenCreateObjectIsCalled_ThenSizeIsIncreasedSizeOfJsonObject) { WhenCreateObjectIsCalled_ThenSizeIsIncreasedSizeOfJsonObject) {
StaticJsonBuffer<SIZEOF_TWO_OBJECTS> json; StaticJsonBuffer<SIZEOF_TWO_OBJECTS> json;