1 /* 2 * Copyright 2017-2023, Andrew Lindesay <apl@lindesay.co.nz> 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef JSON_END_TO_END_TEST_H 6 #define JSON_END_TO_END_TEST_H 7 8 9 #include <TestCase.h> 10 #include <TestSuite.h> 11 12 13 class Sample; 14 15 16 class JsonEndToEndTest : public CppUnit::TestCase { 17 public: 18 JsonEndToEndTest(); 19 virtual ~JsonEndToEndTest(); 20 21 void TestHighVolumeStringParsing(); 22 void TestHighVolumeNumberParsing(); 23 void TestHighVolumeStringSampleGenerationOnly(); 24 void TestHighVolumeNumberSampleGenerationOnly(); 25 26 void TestNullA(); 27 void TestTrueA(); 28 void TestFalseA(); 29 void TestNumberA(); 30 void TestStringA(); 31 void TestStringA2(); 32 void TestStringB(); 33 void TestArrayA(); 34 void TestArrayB(); 35 void TestObjectA(); 36 37 void TestStringUnterminated(); 38 void TestArrayUnterminated(); 39 void TestObjectUnterminated(); 40 41 static void AddTests(BTestSuite& suite); 42 private: 43 void TestUnterminated(const char* input); 44 45 void TestParseAndWrite(const char* input, 46 const char* expectedOutput); 47 }; 48 49 50 #endif // JSON_END_TO_END_TEST_H 51