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() | |