MCPcopy Create free account
hub / github.com/comaps/comaps / UNIT_TEST

Function UNIT_TEST

libs/routing/routing_tests/maxspeeds_tests.cpp:67–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

65}
66
67UNIT_TEST(MaxspeedConverter_Smoke)
68{
69 auto const & conv = GetMaxspeedConverter();
70
71 // All maxspeed limits conversion test.
72 for (size_t i = 0; i < numeric_limits<uint8_t>::max(); ++i)
73 {
74 auto const macro = static_cast<SpeedMacro>(i);
75 auto const speed = conv.MacroToSpeed(macro);
76 auto const backToMacro = conv.SpeedToMacro(speed);
77 if (speed.IsValid())
78 TEST_EQUAL(backToMacro, macro, (i));
79 else
80 TEST_EQUAL(backToMacro, SpeedMacro::Undefined, (i));
81 }
82
83 // Test on conversion some maxspeed value to macro.
84 TEST_EQUAL(conv.SpeedToMacro(SpeedInUnits(kInvalidSpeed, Units::Metric)), SpeedMacro::Undefined, ());
85 TEST_EQUAL(conv.SpeedToMacro(SpeedInUnits(kNoneMaxSpeed, Units::Metric)), SpeedMacro::None, ());
86 TEST_EQUAL(conv.SpeedToMacro(SpeedInUnits(kWalkMaxSpeed, Units::Metric)), SpeedMacro::Walk, ());
87 TEST_EQUAL(conv.SpeedToMacro(SpeedInUnits(60, Units::Metric)), SpeedMacro::Speed60KmPH, ());
88 TEST_EQUAL(conv.SpeedToMacro(SpeedInUnits(90, Units::Metric)), SpeedMacro::Speed90KmPH, ());
89 TEST_EQUAL(conv.SpeedToMacro(SpeedInUnits(30, Units::Imperial)), SpeedMacro::Speed30MPH, ());
90 TEST_EQUAL(conv.SpeedToMacro(SpeedInUnits(33, Units::Metric)), SpeedMacro::Undefined, ());
91
92 // Test on conversion some maxspeed to macro to value.
93 TEST_EQUAL(conv.MacroToSpeed(SpeedMacro::Undefined), SpeedInUnits(kInvalidSpeed, Units::Metric), ());
94 TEST_EQUAL(conv.MacroToSpeed(SpeedMacro::None), SpeedInUnits(kNoneMaxSpeed, Units::Metric), ());
95 TEST_EQUAL(conv.MacroToSpeed(SpeedMacro::Walk), SpeedInUnits(kWalkMaxSpeed, Units::Metric), ());
96 TEST_EQUAL(conv.MacroToSpeed(SpeedMacro::Speed60KmPH), SpeedInUnits(60, Units::Metric), ());
97 TEST_EQUAL(conv.MacroToSpeed(SpeedMacro::Speed90KmPH), SpeedInUnits(90, Units::Metric), ());
98 TEST_EQUAL(conv.MacroToSpeed(SpeedMacro::Speed30MPH), SpeedInUnits(30, Units::Imperial), ());
99}
100
101UNIT_TEST(MaxspeedConverter_ClosestValidMacro)
102{

Callers

nothing calls this directly

Calls 11

FeatureMaxspeedClass · 0.85
TESTFunction · 0.85
MacroToSpeedMethod · 0.80
SpeedToMacroMethod · 0.80
ClosestValidMacroMethod · 0.80
GetSpeedInUnitsMethod · 0.80
GetSpeedKmPHMethod · 0.80
SpeedInUnitsClass · 0.50
IsValidMethod · 0.45
IsBidirectionalMethod · 0.45

Tested by

no test coverage detected