11f6b57a5SAndrew Lindesay /* 21f6b57a5SAndrew Lindesay * Copyright 2017, Andrew Lindesay <apl@lindesay.co.nz> 31f6b57a5SAndrew Lindesay * Distributed under the terms of the MIT License. 41f6b57a5SAndrew Lindesay */ 51f6b57a5SAndrew Lindesay #ifndef JSON_END_TO_END_TEST_H 61f6b57a5SAndrew Lindesay #define JSON_END_TO_END_TEST_H 71f6b57a5SAndrew Lindesay 81f6b57a5SAndrew Lindesay 91f6b57a5SAndrew Lindesay #include <TestCase.h> 101f6b57a5SAndrew Lindesay #include <TestSuite.h> 111f6b57a5SAndrew Lindesay 121f6b57a5SAndrew Lindesay 131f6b57a5SAndrew Lindesay class Sample; 141f6b57a5SAndrew Lindesay 151f6b57a5SAndrew Lindesay 161f6b57a5SAndrew Lindesay class JsonEndToEndTest : public CppUnit::TestCase { 171f6b57a5SAndrew Lindesay public: 181f6b57a5SAndrew Lindesay JsonEndToEndTest(); 191f6b57a5SAndrew Lindesay virtual ~JsonEndToEndTest(); 201f6b57a5SAndrew Lindesay 211f6b57a5SAndrew Lindesay void TestNullA(); 221f6b57a5SAndrew Lindesay void TestTrueA(); 231f6b57a5SAndrew Lindesay void TestFalseA(); 241f6b57a5SAndrew Lindesay void TestNumberA(); 251f6b57a5SAndrew Lindesay void TestStringA(); 261f6b57a5SAndrew Lindesay void TestStringA2(); 271f6b57a5SAndrew Lindesay void TestStringB(); 281f6b57a5SAndrew Lindesay void TestArrayA(); 291f6b57a5SAndrew Lindesay void TestArrayB(); 301f6b57a5SAndrew Lindesay void TestObjectA(); 311f6b57a5SAndrew Lindesay 321f6b57a5SAndrew Lindesay void TestStringUnterminated(); 331f6b57a5SAndrew Lindesay void TestArrayUnterminated(); 341f6b57a5SAndrew Lindesay void TestObjectUnterminated(); 351f6b57a5SAndrew Lindesay 361f6b57a5SAndrew Lindesay static void AddTests(BTestSuite& suite); 371f6b57a5SAndrew Lindesay private: 381f6b57a5SAndrew Lindesay void TestUnterminated(const char* input); 391f6b57a5SAndrew Lindesay 40*0c28e8e5SAndrew Lindesay void TestParseAndWrite(const char* input, 41*0c28e8e5SAndrew Lindesay const char* expectedOutput); 421f6b57a5SAndrew Lindesay }; 431f6b57a5SAndrew Lindesay 441f6b57a5SAndrew Lindesay 451f6b57a5SAndrew Lindesay #endif // JSON_END_TO_END_TEST_H 46