コード例 #1
0
def find_closest(request):
    get_data = request.GET
    errors = []
    user_lat = get_data.get('latitude', '')
    user_lon = get_data.get('longitude', '')
    num_trucks = get_data.get('num_trucks', 10)
    nearest_trucks = FoodTruck.get_closest(user_lat, user_lon, num_trucks)
    response = {'status': 200, 'nearest_trucks': nearest_trucks}
    return HttpResponse(json.dumps(response), content_type='application/json')
コード例 #2
0
ファイル: tests.py プロジェクト: jesseeluo0602/FoodTruck
    def test_get_closest(self):
        truck1 = FoodTruck.objects.get(truck_name="truck1")
        truck2 = FoodTruck.objects.get(truck_name="truck2")
        truck3 = FoodTruck.objects.get(truck_name="truck3")
        truck4 = FoodTruck.objects.get(truck_name="truck4")
        truck5 = FoodTruck.objects.get(truck_name="truck5")

        # results closest to origin should be truck 1 and truck 3, it should ignore truck 2 because it
        # does not have sane long/lat values
        result = FoodTruck.get_closest(0, 0, 2)
        self.assertIn(truck1.get_info(), result)
        self.assertIn(truck3.get_info(), result)
        self.assertNotIn(truck2.get_info(), result)
        self.assertNotIn(truck4.get_info(), result)
        self.assertNotIn(truck5.get_info(), result)

        # results closest on the opposite end of origin should be truck 4 and truck 5,
        result = FoodTruck.get_closest(100, 100, 2)
        self.assertIn(truck4.get_info(), result)
        self.assertIn(truck5.get_info(), result)
コード例 #3
0
ファイル: tests.py プロジェクト: jesseeluo0602/FoodTruck
    def test_get_closest(self):
        truck1 = FoodTruck.objects.get(truck_name="truck1")
        truck2 = FoodTruck.objects.get(truck_name="truck2")
        truck3 = FoodTruck.objects.get(truck_name="truck3")
        truck4 = FoodTruck.objects.get(truck_name="truck4")
        truck5 = FoodTruck.objects.get(truck_name="truck5")

        # results closest to origin should be truck 1 and truck 3, it should ignore truck 2 because it
        # does not have sane long/lat values
        result = FoodTruck.get_closest(0, 0, 2)
        self.assertIn(truck1.get_info(), result)
        self.assertIn(truck3.get_info(), result)
        self.assertNotIn(truck2.get_info(), result)
        self.assertNotIn(truck4.get_info(), result)
        self.assertNotIn(truck5.get_info(), result)

        # results closest on the opposite end of origin should be truck 4 and truck 5,
        result = FoodTruck.get_closest(100, 100, 2)
        self.assertIn(truck4.get_info(), result)
        self.assertIn(truck5.get_info(), result)
コード例 #4
0
ファイル: views.py プロジェクト: jesseeluo0602/FoodTruck
def find_closest(request):
    get_data = request.GET 
    errors = []
    user_lat = get_data.get('latitude', '')
    user_lon = get_data.get('longitude', '')
    num_trucks = get_data.get('num_trucks', 10)
    nearest_trucks = FoodTruck.get_closest(user_lat, user_lon, num_trucks)
    response = {
               'status': 200,
               'nearest_trucks': nearest_trucks
              }
    return HttpResponse(json.dumps(response), content_type='application/json')