MCPcopy Create free account
hub / github.com/OpenOrienteering/mapper / testIsQuery

Method testIsQuery

test/object_query_t.cpp:73–104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

71}
72
73void ObjectQueryTest::testIsQuery()
74{
75 auto object = testObject();
76
77 ObjectQuery single_query_is_true{QLatin1String("a"), ObjectQuery::OperatorIs, QLatin1String("1")};
78 QVERIFY(single_query_is_true(object) == true);
79 QVERIFY(single_query_is_true == single_query_is_true);
80 QVERIFY(single_query_is_true != ObjectQuery{});
81 ObjectQuery single_query_is_false_1{QLatin1String("a"), ObjectQuery::OperatorIs, QLatin1String("2")};
82 QVERIFY(single_query_is_false_1(object) == false);
83 ObjectQuery single_query_is_false_2{QLatin1String("d"), ObjectQuery::OperatorIs, QLatin1String("1")}; // key d doesn't exist
84 QVERIFY(single_query_is_false_2(object) == false);
85 QVERIFY(single_query_is_false_2 != single_query_is_true);
86 QVERIFY(single_query_is_true != single_query_is_false_2);
87
88 auto query_copy_true = ObjectQuery(single_query_is_true);
89 QCOMPARE(query_copy_true.getOperator(), ObjectQuery::OperatorIs);
90 QCOMPARE(query_copy_true, single_query_is_true);
91 QVERIFY(query_copy_true(object) == true);
92 QVERIFY(query_copy_true != single_query_is_false_1);
93
94 auto query_moved_false = std::move(single_query_is_false_2);
95 QCOMPARE(query_moved_false.getOperator(), ObjectQuery::OperatorIs);
96 QCOMPARE(single_query_is_false_2.getOperator(), ObjectQuery::OperatorInvalid);
97 QVERIFY(query_moved_false(object) == false);
98 QVERIFY(query_moved_false != single_query_is_false_2);
99
100 auto operands = query_moved_false.tagOperands();
101 QVERIFY(operands);
102 QCOMPARE(operands->key, QString::fromLatin1("d"));
103 QCOMPARE(operands->value, QString::fromLatin1("1"));
104}
105
106void ObjectQueryTest::testIsNotQuery()
107{

Callers

nothing calls this directly

Calls 4

QLatin1StringClass · 0.85
getOperatorMethod · 0.80
tagOperandsMethod · 0.80
ObjectQueryClass · 0.50

Tested by

no test coverage detected