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

Method matchQuerySymbolNumberTest

test/map_t.cpp:367–402  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

365
366
367void MapTest::matchQuerySymbolNumberTest()
368{
369 QFETCH(QString, original);
370 QFETCH(QString, replacement);
371 QFETCH(int, matching);
372
373 Map original_map;
374 QVERIFY(original_map.loadFrom(original));
375 QVERIFY(original_map.getNumSymbols() > 100);
376
377 auto r = SymbolRuleSet::forAllSymbols(original_map);
378 QCOMPARE(r.size(), std::size_t(original_map.getNumSymbols()));
379 QCOMPARE(r.squeezed().size(), std::size_t(0));
380
381 r.matchQuerySymbolNumber(original_map);
382 QCOMPARE(r.size(), std::size_t(original_map.getNumSymbols()));
383 QCOMPARE(r.squeezed().size(), std::size_t(original_map.getNumSymbols()));
384
385 Map replacement_map;
386 QVERIFY(replacement_map.loadFrom(replacement));
387 QVERIFY(replacement_map.getNumSymbols() > 100);
388
389 r = SymbolRuleSet::forAllSymbols(original_map);
390 r.matchQuerySymbolNumber(replacement_map);
391 QCOMPARE(r.squeezed().size(), std::size_t(matching));
392
393 std::vector<bool> symbols_in_use;
394 original_map.determineSymbolsInUse(symbols_in_use);
395 auto count = std::size_t(std::count(begin(symbols_in_use), end(symbols_in_use), true));
396 QVERIFY(count > 10u);
397
398 r = SymbolRuleSet::forUsedSymbols(original_map);
399 QCOMPARE(r.size(), count);
400 r.matchQuerySymbolNumber(replacement_map);
401 QVERIFY(r.squeezed().size() > 10u);
402}
403
404
405

Callers

nothing calls this directly

Calls 6

getNumSymbolsMethod · 0.80
squeezedMethod · 0.80
determineSymbolsInUseMethod · 0.80
loadFromMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected