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

Method testToString

test/object_query_t.cpp:312–371  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

310
311
312void ObjectQueryTest::testToString()
313{
314 auto q = ObjectQuery(ObjectQuery::OperatorSearch, QStringLiteral("1"));
315 QCOMPARE(q.toString(), QStringLiteral("\"1\""));
316
317 q = ObjectQuery(ObjectQuery::OperatorSearch, QStringLiteral("1\"\\x"));
318 QCOMPARE(q.toString(), QStringLiteral("\"1\\\"\\\\x\""));
319
320 q = ObjectQuery({ObjectQuery::OperatorSearch, QStringLiteral("1")},
321 ObjectQuery::OperatorOr,
322 {ObjectQuery::OperatorSearch, QStringLiteral("2")});
323 QCOMPARE(q.toString(), QStringLiteral("\"1\" OR \"2\""));
324
325 q = ObjectQuery({ObjectQuery::OperatorSearch, QStringLiteral("1")},
326 ObjectQuery::OperatorOr,
327 {{ObjectQuery::OperatorSearch, QStringLiteral("2")},
328 ObjectQuery::OperatorAnd,
329 {ObjectQuery::OperatorSearch, QStringLiteral("3")}});
330 QCOMPARE(q.toString(), QStringLiteral("\"1\" OR \"2\" AND \"3\""));
331
332 q = ObjectQuery({ObjectQuery::OperatorSearch, QStringLiteral("1")},
333 ObjectQuery::OperatorAnd,
334 {{ObjectQuery::OperatorSearch, QStringLiteral("2")},
335 ObjectQuery::OperatorOr,
336 {ObjectQuery::OperatorSearch, QStringLiteral("3")}});
337 QCOMPARE(q.toString(), QStringLiteral("\"1\" AND (\"2\" OR \"3\")"));
338
339 q = ObjectQuery({QStringLiteral("Layer"), ObjectQuery::OperatorIs, QStringLiteral("1")},
340 ObjectQuery::OperatorAnd,
341 {QStringLiteral("A B C"), ObjectQuery::OperatorIsNot, QStringLiteral("3")});
342 QCOMPARE(q.toString(), QStringLiteral("Layer = \"1\" AND \"A B C\" != \"3\""));
343
344 q = ObjectQuery(static_cast<Symbol*>(nullptr));
345 QCOMPARE(q.toString(), QStringLiteral("SYMBOL \"\""));
346
347 PointSymbol symbol_1;
348 symbol_1.setNumberComponent(0, 123);
349 q = ObjectQuery(static_cast<Symbol*>(&symbol_1));
350 QCOMPARE(q.toString(), QStringLiteral("SYMBOL \"123\""));
351
352 q = ObjectQuery(ObjectQuery::negation({ObjectQuery::OperatorSearch, QStringLiteral("1")}));
353 QCOMPARE(q.toString(), QStringLiteral("NOT \"1\""));
354
355 q = ObjectQuery({ObjectQuery::OperatorSearch, QStringLiteral("1")},
356 ObjectQuery::OperatorAnd,
357 ObjectQuery::negation({ObjectQuery::OperatorSearch, QStringLiteral("2")}));
358 QCOMPARE(q.toString(), QStringLiteral("\"1\" AND NOT \"2\""));
359
360 q = ObjectQuery({{ObjectQuery::OperatorSearch, QStringLiteral("1")},
361 ObjectQuery::OperatorAnd,
362 ObjectQuery::negation({ObjectQuery::OperatorSearch, QStringLiteral("2")})},
363 ObjectQuery::OperatorOr,
364 {ObjectQuery::OperatorSearch, QStringLiteral("3")});
365 QCOMPARE(q.toString(), QStringLiteral("\"1\" AND NOT \"2\" OR \"3\""));
366
367 q = ObjectQuery(ObjectQuery::negation(ObjectQuery::negation({ObjectQuery::OperatorSearch, QStringLiteral("1")})),
368 ObjectQuery::OperatorAnd,
369 {ObjectQuery::OperatorSearch, QStringLiteral("3")});

Callers

nothing calls this directly

Calls 3

setNumberComponentMethod · 0.80
ObjectQueryClass · 0.50
toStringMethod · 0.45

Tested by

no test coverage detected