Exemplo n.º 1
0
    def test_search_trip_valid(self):
        '''
        We move Driver + 0.00010 North 20 times, until he reaches rider
        location. Rider is +0.002000 North initially.
        Before this method:
            Driver Position:    '46.500000  11.340000'
            Rider Position:     '46.502000  11.340000'
        After this method:
            Driver Position:    '46.502000  11.340000'
            Rider Position:     '46.502000  11.340000'
        '''
        for i in range (1,21):
            self.driver.position_lat += 0.000100
            self.driver_position = utils.georss_point_from_coords(self.driver.position_lat,self.driver.position_lon)
            self.driver.location = classes.Location(georss_point=self.driver_position)
            response = self.driver.update_position(location=self.driver.location)
            assert response['code'] == response_codes.CREATED or response['code'] == response_codes.ALL_OK
            response = self.rider.search_ride(self.rider.location,self.rider.destination)
            assert response['code'] == response_codes.ALL_OK
            self.rider.trip = response['value']['trips'][0]

        driver_position = utils.coords_from_georss_point(self.driver.get_position()['value']['georss_point'])
        rider_position = utils.coords_from_georss_point(self.rider.get_position()['value']['georss_point'])
        assert driver_position == rider_position
Exemplo n.º 2
0
    def test_search_trip_driver_moving_away_from_rider(self):
        '''
        We now move the Driver to South, making it moving away from rider.
        Therefore, rider should not get his trip in a search.
        Before this method:
            Driver Position:    '46.503000  11.340000'
            Rider Position:     '46.502000  11.340000'
        After this method:
            Driver Position:    '46.501000  11.340000'
            Rider Position:     '46.502000  11.340000'
        '''
        for i in range (1,21):
            self.driver.position_lat -= 0.0001
            self.driver_position = utils.georss_point_from_coords(self.driver.position_lat,self.driver.position_lon)
            self.driver.location = classes.Location(georss_point=self.driver_position)
            response = self.driver.update_position(location=self.driver.location)
            assert response['code'] == response_codes.CREATED or response['code'] == response_codes.ALL_OK
        driver_position = utils.coords_from_georss_point(self.driver.get_position()['value']['georss_point'])

        response = self.rider.search_ride(self.rider.location,self.rider.destination)
        assert response['code'] == response_codes.ALL_OK
        with py.test.raises(KeyError):
            assert response['trips'] == True