def drivers(self): drv1 = Driver(id='Tom & Jerry', start_lat=3, start_lng=4, end_lat=4, end_lng=5) drv1.work_shifts = [WorkShift(start_work=dtime, end_work=dtime)] drv1.skills = ['calm', 'angry'] drv1.service_regions = [ ServiceRegionPolygon(lat_lng_pairs=[(0, 0), (0, 1), (1, 1)]) ] drv2 = Driver(id='Sam & Max', start_lat=3, start_lng=4, end_lat=4, end_lng=5) drv2.work_shifts = [WorkShift(start_work=dtime, end_work=dtime)] drv2.skills = ['pirate', 'ninja'] drv2.service_regions = [ ServiceRegionPolygon(lat_lng_pairs=[(0, 0), (0, 1), (1, 1)]), ServiceRegionPolygon(lat_lng_pairs=[(1, 1), (1, 2), (2, 2.5)]), ] drv3 = Driver(id='rantanplan', start_lat=3, start_lng=4, end_lat=4, end_lng=5) drv3.work_shifts = [WorkShift(start_work=dtime, end_work=dtime)] drv3.skills = ['woofing', 'barking'] return drv1, drv2, drv3
def test_service_regions_validation_fail(self, cls_name): drv = Driver(id='3', start_lat=3, start_lng=4, end_lat=4, end_lng=5) drv.work_shifts = [WorkShift(start_work=dtime, end_work=dtime)] drv.skills = ['calm', 'angry'] drv.speed_factor = 1.5 drv.service_regions = 'A region' with pytest.raises(TypeError) as excinfo: drv.validate() err_msg = TYPE_ERR_MSG.format(cls_name, 'service_regions', (list, tuple), str) assert err_msg == str(excinfo.value) drv = Driver(id='3', start_lat=3, start_lng=4, end_lat=4, end_lng=5) drv.work_shifts = [WorkShift(start_work=dtime, end_work=dtime)] drv.skills = ['calm', 'angry'] drv.speed_factor = 1.5 drv.service_regions = [ ServiceRegionPolygon(lat_lng_pairs=[(0, 1), (1, 1), (1, 2)]), 'Invaild Object' ] with pytest.raises(TypeError) as excinfo: drv.validate() err_msg = "'{}.service_regions' must contain elements of type {}"\ .format(cls_name, 'ServiceRegionPolygon') assert err_msg == str(excinfo.value)
def drivers(self): drv1 = Driver(id='Tom & Jerry', start_lat=3, start_lng=4, end_lat=4, end_lng=5) drv1.work_shifts = [WorkShift(start_work=dtime, end_work=dtime)] drv1.skills = ['calm', 'angry'] drv1.service_regions = [ServiceRegionPolygon(lat_lng_pairs=[(0, 0), (0, 1), (1, 1)])] drv2 = Driver(id='Sam & Max', start_lat=3, start_lng=4, end_lat=4, end_lng=5) drv2.work_shifts = [WorkShift(start_work=dtime, end_work=dtime)] drv2.skills = ['pirate', 'ninja'] drv2.service_regions = [ ServiceRegionPolygon(lat_lng_pairs=[(0, 0), (0, 1), (1, 1)]), ServiceRegionPolygon(lat_lng_pairs=[(1, 1), (1, 2), (2, 2.5)]), ] drv3 = Driver(id='rantanplan', start_lat=3, start_lng=4, end_lat=4, end_lng=5) drv3.work_shifts = [WorkShift(start_work=dtime, end_work=dtime)] drv3.skills = ['woofing', 'barking'] return drv1, drv2, drv3