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

Method copyFromTest

test/path_object_t.cpp:358–394  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

356}
357
358void PathObjectTest::copyFromTest()
359{
360 // Simple path
361 PathObject proto{Map::getCoveringRedLine()};
362 proto.addCoordinate({0.0, 2.0});
363 proto.addCoordinate({4.0, 2.0});
364 proto.addCoordinate({4.0, -2.0});
365
366 QFETCH(int, dash_point_index);
367 for (std::size_t i = 0; i < proto.getCoordinateCount(); ++i)
368 proto.getCoordinateRef(i).setDashPoint(int(i) == dash_point_index);
369
370 {
371 PathObject path{Map::getCoveringRedLine()};
372 path.copyFrom(proto);
373 QCOMPARE(path.getCoordinateCount(), proto.getCoordinateCount());
374
375 for (std::size_t i = 0; i < path.getCoordinateCount(); ++i)
376 QCOMPARE(path.getCoordinate(i), proto.getCoordinate(i));
377 }
378
379 // Closed path with a hole
380 proto.addCoordinate({0.0, 2.0, MapCoord::ClosePoint});
381 proto.addCoordinate({0.5, 1.5, MapCoord::HolePoint});
382 proto.addCoordinate({3.5, 1.5});
383 proto.addCoordinate({3.5, 0.0});
384 proto.addCoordinate({0.5, 1.5, MapCoord::ClosePoint});
385
386 {
387 PathObject path{Map::getCoveringRedLine()};
388 path.copyFrom(proto);
389 QCOMPARE(path.getCoordinateCount(), proto.getCoordinateCount());
390
391 for (std::size_t i = 0; i < path.getCoordinateCount(); ++i)
392 QCOMPARE(path.getCoordinate(i), proto.getCoordinate(i));
393 }
394}
395
396
397

Callers

nothing calls this directly

Calls 5

getCoordinateCountMethod · 0.80
setDashPointMethod · 0.80
getCoordinateMethod · 0.80
addCoordinateMethod · 0.45
copyFromMethod · 0.45

Tested by

no test coverage detected