11f6b57a5SAndrew Lindesay /* 2*35c4600eSAndrew Lindesay * Copyright 2017-2023, 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 21*35c4600eSAndrew Lindesay void TestHighVolumeStringParsing(); 22*35c4600eSAndrew Lindesay void TestHighVolumeNumberParsing(); 23*35c4600eSAndrew Lindesay void TestHighVolumeStringSampleGenerationOnly(); 24*35c4600eSAndrew Lindesay void TestHighVolumeNumberSampleGenerationOnly(); 25*35c4600eSAndrew Lindesay 261f6b57a5SAndrew Lindesay void TestNullA(); 271f6b57a5SAndrew Lindesay void TestTrueA(); 281f6b57a5SAndrew Lindesay void TestFalseA(); 291f6b57a5SAndrew Lindesay void TestNumberA(); 301f6b57a5SAndrew Lindesay void TestStringA(); 311f6b57a5SAndrew Lindesay void TestStringA2(); 321f6b57a5SAndrew Lindesay void TestStringB(); 331f6b57a5SAndrew Lindesay void TestArrayA(); 341f6b57a5SAndrew Lindesay void TestArrayB(); 351f6b57a5SAndrew Lindesay void TestObjectA(); 361f6b57a5SAndrew Lindesay 371f6b57a5SAndrew Lindesay void TestStringUnterminated(); 381f6b57a5SAndrew Lindesay void TestArrayUnterminated(); 391f6b57a5SAndrew Lindesay void TestObjectUnterminated(); 401f6b57a5SAndrew Lindesay 411f6b57a5SAndrew Lindesay static void AddTests(BTestSuite& suite); 421f6b57a5SAndrew Lindesay private: 431f6b57a5SAndrew Lindesay void TestUnterminated(const char* input); 441f6b57a5SAndrew Lindesay 450c28e8e5SAndrew Lindesay void TestParseAndWrite(const char* input, 460c28e8e5SAndrew Lindesay const char* expectedOutput); 471f6b57a5SAndrew Lindesay }; 481f6b57a5SAndrew Lindesay 491f6b57a5SAndrew Lindesay 501f6b57a5SAndrew Lindesay #endif // JSON_END_TO_END_TEST_H 51