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