| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #include <gtest/gtest.h>
- #include "StringBuilder.h"
- using namespace ArduinoJson::Internals;
- class StringBuilderTests : public testing::Test
- {
- protected:
-
- virtual void SetUp()
- {
- sb = new StringBuilder(buffer, sizeof(buffer));
- }
- void print(const char* value)
- {
- returnValue = sb->print(value);
- }
- void outputMustBe(const char* expected)
- {
- EXPECT_STREQ(expected, buffer);
- }
- void resultMustBe(size_t expected)
- {
- EXPECT_EQ(expected, returnValue);
- }
- private:
- char buffer[20];
- Print* sb;
- size_t returnValue;
- };
- TEST_F(StringBuilderTests, InitialState)
- {
- outputMustBe("");
- }
- TEST_F(StringBuilderTests, OverCapacity)
- {
- print("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
- resultMustBe(19);
- print("ABC");
- resultMustBe(0);
- outputMustBe("ABCDEFGHIJKLMNOPQRS");
- }
- TEST_F(StringBuilderTests, EmptyString)
- {
- print("");
- resultMustBe(0);
- outputMustBe("");
- }
- TEST_F(StringBuilderTests, OneString)
- {
- print("ABCD");
- resultMustBe(4);
- outputMustBe("ABCD");
- }
- TEST_F(StringBuilderTests, TwoStrings)
- {
- print("ABCD");
- resultMustBe(4);
- print("EFGH");
- resultMustBe(4);
- outputMustBe("ABCDEFGH");
- }
|