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

Method testSymbol

test/object_query_t.cpp:262–294  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

260}
261
262void ObjectQueryTest::testSymbol()
263{
264 PointSymbol symbol_1;
265 PointObject object(&symbol_1);
266
267 auto symbol_query = ObjectQuery(&symbol_1);
268 QCOMPARE(symbol_query.getOperator(), ObjectQuery::OperatorSymbol);
269 QVERIFY(symbol_query(&object) == true);
270
271 PointSymbol symbol_2;
272 symbol_query = ObjectQuery(&symbol_2);
273 QVERIFY(symbol_query(&object) == false);
274
275 object.setSymbol(&symbol_2, false);
276 QVERIFY(symbol_query(&object) == true);
277
278 auto operand = symbol_query.symbolOperand();
279 QVERIFY(operand);
280 QCOMPARE(operand, &symbol_2);
281
282 auto clone = ObjectQuery(symbol_query);
283 QCOMPARE(clone, symbol_query);
284 QVERIFY(clone != ObjectQuery{});
285 operand = clone.symbolOperand();
286 QVERIFY(operand);
287 QCOMPARE(operand, &symbol_2);
288
289 symbol_query = ObjectQuery(static_cast<Symbol*>(nullptr));
290 QVERIFY(bool(symbol_query));
291 QVERIFY(symbol_query(&object) == false);
292 object.setSymbol(nullptr, true);
293 QVERIFY(symbol_query(&object) == true);
294}
295
296void ObjectQueryTest::testNegation()
297{

Callers

nothing calls this directly

Calls 4

getOperatorMethod · 0.80
symbolOperandMethod · 0.80
ObjectQueryClass · 0.50
setSymbolMethod · 0.45

Tested by

no test coverage detected