コード例 #1
0
ファイル: test_models.py プロジェクト: fieldaware/optimoroute
    def orders(self):
        order1 = Order('3', 5.2, 6.1, 7)
        order1.time_window = TimeWindow(start_time=dtime, end_time=dtime)
        order1.skills = ['handy', 'quiet']
        order1.assigned_to = 'Tom & Jerry'
        order1.scheduling_info = SchedulingInfo(scheduled_at=dtime, scheduled_driver='rantanplan')

        order2 = Order('4', 5.2, 6.1, 7)
        order2.time_window = TimeWindow(start_time=dtime, end_time=dtime)
        order2.skills = ['barista', 'terrorista']
        order2.assigned_to = 'Sam & Max'
        order2.scheduling_info = SchedulingInfo(scheduled_at=dtime, scheduled_driver='rantanplan')
        return order1, order2
コード例 #2
0
ファイル: test_models.py プロジェクト: bentocart/optimoroute
    def orders(self):
        order1 = Order('3', 5.2, 6.1, 7)
        order1.time_window = TimeWindow(start_time=dtime, end_time=dtime)
        order1.skills = ['handy', 'quiet']
        order1.assigned_to = 'Tom & Jerry'
        order1.scheduling_info = SchedulingInfo(scheduled_at=dtime,
                                                scheduled_driver='rantanplan')

        order2 = Order('4', 5.2, 6.1, 7)
        order2.time_window = TimeWindow(start_time=dtime, end_time=dtime)
        order2.skills = ['barista', 'terrorista']
        order2.assigned_to = 'Sam & Max'
        order2.scheduling_info = SchedulingInfo(scheduled_at=dtime,
                                                scheduled_driver='rantanplan')
        return order1, order2
コード例 #3
0
ファイル: test_models.py プロジェクト: fieldaware/optimoroute
    def test_assigned_to(self, cls_name):
        order = Order(id='3', lat=5.2, lng=6.1, duration=7)
        order.time_window = TimeWindow(dtime, dtime)
        order.skills = ['handy', 'quiet']
        order.assigned_to = 4
        with pytest.raises(TypeError) as excinfo:
            order.validate()
        err_msg = TYPE_ERR_MSG.format(cls_name, 'assigned_to', (basestring, Driver), int)
        assert err_msg == str(excinfo.value)

        # test it accepts a string as a driver
        order.assigned_to = 'rantanplan'
        assert order.validate() is None

        # test it accepts a driver objects too
        drv = Driver(id='3', start_lat=3, start_lng=4, end_lat=4, end_lng=5)
        order.assigned_to = drv
        assert order.validate() is None
コード例 #4
0
ファイル: test_models.py プロジェクト: bentocart/optimoroute
    def test_assigned_to(self, cls_name):
        order = Order(id='3', lat=5.2, lng=6.1, duration=7)
        order.time_window = TimeWindow(dtime, dtime)
        order.skills = ['handy', 'quiet']
        order.assigned_to = 4
        with pytest.raises(TypeError) as excinfo:
            order.validate()
        err_msg = TYPE_ERR_MSG.format(cls_name, 'assigned_to',
                                      (basestring, Driver), int)
        assert err_msg == str(excinfo.value)

        # test it accepts a string as a driver
        order.assigned_to = 'rantanplan'
        assert order.validate() is None

        # test it accepts a driver objects too
        drv = Driver(id='3', start_lat=3, start_lng=4, end_lat=4, end_lng=5)
        order.assigned_to = drv
        assert order.validate() is None
コード例 #5
0
ファイル: test_models.py プロジェクト: fieldaware/optimoroute
 def test_scheduling_info(self, cls_name):
     order = Order(id='3', lat=5.2, lng=6.1, duration=7)
     order.time_window = TimeWindow(dtime, dtime)
     order.skills = ['handy', 'quiet']
     order.assigned_to = 'Tom & Jerry'
     order.scheduling_info = 45
     with pytest.raises(TypeError) as excinfo:
         order.validate()
     err_msg = TYPE_ERR_MSG.format(cls_name, 'scheduling_info', SchedulingInfo, int)
     assert err_msg == str(excinfo.value)
コード例 #6
0
ファイル: test_models.py プロジェクト: bentocart/optimoroute
 def test_scheduling_info(self, cls_name):
     order = Order(id='3', lat=5.2, lng=6.1, duration=7)
     order.time_window = TimeWindow(dtime, dtime)
     order.skills = ['handy', 'quiet']
     order.assigned_to = 'Tom & Jerry'
     order.scheduling_info = 45
     with pytest.raises(TypeError) as excinfo:
         order.validate()
     err_msg = TYPE_ERR_MSG.format(cls_name, 'scheduling_info',
                                   SchedulingInfo, int)
     assert err_msg == str(excinfo.value)
コード例 #7
0
ファイル: test_models.py プロジェクト: fieldaware/optimoroute
 def test_is_valid(self):
     order = Order(id='3', lat=5.2, lng=6.1, duration=7)
     order.time_window = TimeWindow(start_time=dtime, end_time=dtime)
     order.skills = ['handy', 'quiet']
     order.assigned_to = Driver(id='Tom & Jerry', start_lat=3, start_lng=4,
                                end_lat=5, end_lng=6)
     order.scheduling_info = SchedulingInfo(scheduled_at=dtime, scheduled_driver='rantanplan')
     assert order.validate() is None
     assert jsonify(order) == (
         '{"assignedTo": "Tom & Jerry", "skills": ["handy", "quiet"], "tw": '
         '{"timeFrom": "2014-12-05T08:00", "timeTo": "2014-12-05T08:00"}, '
         '"lon": 6.1, "priority": "M", "duration": 7, "lat": 5.2, '
         '"schedulingInfo": {"scheduledAt": "2014-12-05T08:00", "locked": '
         'false, "scheduledDriver": "rantanplan"}, "id": "3"}'
     )
     assert OrderValidator.validate(dictify(order)) is None
コード例 #8
0
ファイル: test_models.py プロジェクト: bentocart/optimoroute
 def test_is_valid(self):
     order = Order(id='3', lat=5.2, lng=6.1, duration=7)
     order.time_window = TimeWindow(start_time=dtime, end_time=dtime)
     order.skills = ['handy', 'quiet']
     order.assigned_to = Driver(id='Tom & Jerry',
                                start_lat=3,
                                start_lng=4,
                                end_lat=5,
                                end_lng=6)
     order.scheduling_info = SchedulingInfo(scheduled_at=dtime,
                                            scheduled_driver='rantanplan')
     assert order.validate() is None
     assert jsonify(order) == (
         '{"assignedTo": "Tom & Jerry", "skills": ["handy", "quiet"], "tw": '
         '{"timeFrom": "2014-12-05T08:00", "timeTo": "2014-12-05T08:00"}, '
         '"lon": 6.1, "priority": "M", "duration": 7, "lat": 5.2, '
         '"schedulingInfo": {"scheduledAt": "2014-12-05T08:00", "locked": '
         'false, "scheduledDriver": "rantanplan"}, "id": "3"}')
     assert OrderValidator.validate(dictify(order)) is None