1//
2// SQLTest.h
3//
4// Definition of the SQLTest class.
5//
6// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
7// and Contributors.
8//
9// SPDX-License-Identifier: BSL-1.0
10//
11
12
13#ifndef SQLTest_INCLUDED
14#define SQLTest_INCLUDED
15
16
17#include "Poco/SQL/SQL.h"
18#include "Poco/BinaryReader.h"
19#include "Poco/BinaryWriter.h"
20#include "Poco/SQL/Row.h"
21#include "Poco/CppUnit/TestCase.h"
22
23
24class SQLTest: public CppUnit::TestCase
25{
26public:
27 SQLTest(const std::string& name);
28 ~SQLTest();
29
30 void testSession();
31 void testStatementFormatting();
32 void testFeatures();
33 void testProperties();
34 void testLOB();
35 void testCLOB();
36 void testCLOBStreams();
37 void testColumnVector();
38 void testColumnVectorBool();
39 void testColumnDeque();
40 void testColumnList();
41 void testRow();
42 void testRowSort();
43 void testSimpleRowFormatter();
44 void testJSONRowFormatter();
45 void testDateAndTime();
46 void testExternalBindingAndExtraction();
47
48 void testStdTuple();
49
50 void setUp();
51 void tearDown();
52
53 static CppUnit::Test* suite();
54
55private:
56 void testRowStrictWeak(const Poco::SQL::Row& row1,
57 const Poco::SQL::Row& row2,
58 const Poco::SQL::Row& row3);
59 /// Strict weak ordering requirement for sorted containers
60 /// as described in Josuttis "The Standard C++ Library"
61 /// chapter 6.5. pg. 176.
62 /// For this to pass, the following condition must be satisifed:
63 /// row1 < row2 < row3
64
65 void writeToCLOB(Poco::BinaryWriter& writer);
66 void readFromCLOB(Poco::BinaryReader& reader);
67};
68
69
70#endif // SQLTest_INCLUDED
71