TravelNER / app /travel_resolver /tests /heuristic_test.py
DuquesnoyPaul
PDL : get minutes from distance implementation and tests / euclidian distance to km
8062743
import unittest
from travel_resolver.libs.pathfinder.heuristic import haversine_distance,get_minutes_from_distance,euclidean_distance
class TestHeuristic(unittest.TestCase):
def setUp(self):
self.latParis, self.lonParis = 48.8566, 2.3522
self.latLyon, self.lonLyon = 45.7640, 4.8357
def test_euclidean_distance(self):
expected_distance = 441.0382031754888
distance = euclidean_distance(self.latParis, self.lonParis, self.latLyon, self.lonLyon)
self.assertEqual(distance, expected_distance)
def test_haversine_distance(self):
expected_distance = 391.4989316742569
distance = haversine_distance(self.latParis, self.lonParis, self.latLyon, self.lonLyon)
self.assertEqual(distance, expected_distance)
def test_get_minutes_from_distance(self):
expected_time_euclidean = 264.62292190529325
euclidean_dist = euclidean_distance(self.latParis, self.lonParis, self.latLyon, self.lonLyon)
time_from_euclidean_distance = get_minutes_from_distance(euclidean_dist,True)
expected_time_haversine = 234.89935900455413
haversine_dist = haversine_distance(self.latParis, self.lonParis, self.latLyon, self.lonLyon)
time_from_haversine_distance = get_minutes_from_distance(haversine_dist,True)
self.assertEqual(time_from_euclidean_distance, expected_time_euclidean)
self.assertEqual(time_from_haversine_distance, expected_time_haversine)
if __name__ == '__main__':
unittest.main()