| 260 | } |
| 261 | |
| 262 | void 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 | |
| 296 | void ObjectQueryTest::testNegation() |
| 297 | { |
nothing calls this directly
no test coverage detected