xref: /haiku/src/tests/kits/shared/JsonEndToEndTest.h (revision 3634f142352af2428aed187781fc9d75075e9140)
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