// Copyright (c) 2014-2026 Savoir-faire Linux Inc. // SPDX-License-Identifier: MIT #pragma once // cppunit #include #include namespace test { class ValueTester : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(ValueTester); CPPUNIT_TEST(testConstructors); CPPUNIT_TEST(testFilter); CPPUNIT_TEST(testSequenceFilterMsgpackRoundTrip); CPPUNIT_TEST(testPushTypeMsgpackRoundTrip); CPPUNIT_TEST(testPushTypeAbsentAfterUnpack); CPPUNIT_TEST(testPushTypePreservedAfterEncrypt); CPPUNIT_TEST(testPushTypeJsonRoundTrip); CPPUNIT_TEST(testFieldValueIndexContainedIn); CPPUNIT_TEST(testProjectionSatisfiedBy); CPPUNIT_TEST_SUITE_END(); public: /** * Method automatically called before each test by CppUnit */ void setUp(); /** * Method automatically called after each test CppUnit */ void tearDown(); /** * Test the differents behaviors of constructors */ void testConstructors(); /** * Test compare operators */ void testFilter(); void testSequenceFilterMsgpackRoundTrip(); void testPushTypeMsgpackRoundTrip(); void testPushTypeAbsentAfterUnpack(); void testPushTypePreservedAfterEncrypt(); void testPushTypeJsonRoundTrip(); /** * Test that projected index containment compares field values, not only keys */ void testFieldValueIndexContainedIn(); /** * Test that a projected query only reuses answers filtered exactly like it */ void testProjectionSatisfiedBy(); }; } // namespace test