示例#1
0
    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
示例#2
0
    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)
示例#3
0
    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
示例#4
0
    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)