def test_way_relation_speed_limit_maxspeed(self): # Reset all tags before teting mockOSMWay_01_02_Loop.tags = {} wayRelation = WayRelation(mockOSMWay_01_02_Loop) # No Value self.assertEqual(wayRelation.speed_limit, 0.) # Value on both directions wayRelation._speed_limit = None wayRelation.way.tags["maxspeed"] = "100" self.assertEqual(wayRelation.speed_limit, 100. * CV.KPH_TO_MS) # Value on forward wayRelation.way.tags.pop("maxspeed") wayRelation._speed_limit = None wayRelation.direction = DIRECTION.FORWARD self.assertEqual(wayRelation.speed_limit, 0.) wayRelation._speed_limit = None wayRelation.way.tags["maxspeed:forward"] = "100" self.assertEqual(wayRelation.speed_limit, 100. * CV.KPH_TO_MS) # Value on backward wayRelation._speed_limit = None wayRelation.direction = DIRECTION.BACKWARD self.assertEqual(wayRelation.speed_limit, 0.) wayRelation._speed_limit = None wayRelation.way.tags["maxspeed:backward"] = "100" self.assertEqual(wayRelation.speed_limit, 100. * CV.KPH_TO_MS)
def test_way_relation_update_direction_from_starting_node_resets_speed_limit( self): wayRelation = WayRelation(mockOSMWay_01_01_LongCurvy) wayRelation._speed_limit = 10. wayRelation.update_direction_from_starting_node( wayRelation.way.nodes[0].id) self.assertIsNone(wayRelation._speed_limit)
def test_way_relation_speed_limit_conditional(self, mock_dt): tz = timezone(timedelta(hours=1), 'berlin') wed_10_10_am = dt(2021, 9, 1, 10, 10, 0) mock_dt.now.return_value = wed_10_10_am mock_dt.tzinfo = tz mock_dt.combine = dt.combine mock_dt.strptime = dt.strptime # Reset all tags before teting mockOSMWay_01_02_Loop.tags = {} wayRelation = WayRelation(mockOSMWay_01_02_Loop) # No Value self.assertEqual(wayRelation.speed_limit, 0.) # Value on both directions wayRelation._speed_limit = None wayRelation.way.tags["maxspeed:conditional"] = "100 @ (We 10:00-10:30)" self.assertEqual(wayRelation.speed_limit, 100. * CV.KPH_TO_MS) # Value on forward wayRelation.way.tags.pop("maxspeed:conditional") wayRelation._speed_limit = None wayRelation.direction = DIRECTION.FORWARD self.assertEqual(wayRelation.speed_limit, 0.) wayRelation._speed_limit = None wayRelation.way.tags[ "maxspeed:forward:conditional"] = "100 @ (We 10:00-10:30)" self.assertEqual(wayRelation.speed_limit, 100. * CV.KPH_TO_MS) # Value on backward wayRelation._speed_limit = None wayRelation.direction = DIRECTION.BACKWARD self.assertEqual(wayRelation.speed_limit, 0.) wayRelation._speed_limit = None wayRelation.way.tags[ "maxspeed:backward:conditional"] = "100 @ (We 10:00-10:30)" self.assertEqual(wayRelation.speed_limit, 100. * CV.KPH_TO_MS)
def test_way_relation_speed_limit_when_set(self): wayRelation = WayRelation(mockOSMWay_01_02_Loop) wayRelation._speed_limit = 10. self.assertEqual(wayRelation.speed_limit, 10.)