Advertisement
Guest User

Untitled

a guest
Jan 20th, 2020
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.69 KB | None | 0 0
  1. import unittest
  2.  2 import datetime
  3.  3 from seamonapi.waypoint import parse_drivepoints
  4.  4 from .printer import printer # pretty printer
  5.  5 from routes import set_osrm_server
  6.  6
  7.  7 set_osrm_server("http://api.seamon.io:5000")
  8.  8
  9.  9 class TestWaypoint(unittest.TestCase):
  10. 10
  11. 11     def test_drive_1wp(self):
  12. 12         pts = ['(Reykjavik;initial_time)']
  13. 13         initial_time = datetime.datetime(2008, 11, 10, 17, 53, 59)
  14. 14         end_time = initial_time + datetime.timedelta(hours=2)
  15. 15         res = parse_drivepoints(pts, initial_time, end_time)
  16. 16
  17. 17         self.assertEqual( len(res[0]), 2 )
  18. 18         self.assertEqual( len(res[1]), 2 )
  19. 19         self.assertEqual( res[1][1]['label'], 'Reykjavik')
  20. 20         self.assertEqual( res[1][1]['time'], (end_time-datetime.datetime(1970, 1, 1)).total_seconds())
  21. 21
  22. 22     def test_drive_latlon(self):
  23. 23         pts = ['(64.14;-21.94;initial_time)','(Selfoss;25kph)']
  24. 24         initial_time = datetime.datetime(2008, 11, 10, 17, 53, 59)
  25. 25         end_time = initial_time + datetime.timedelta(hours=2)
  26. 26         res = parse_drivepoints(pts, initial_time, end_time)
  27. 27
  28. 28         # should return reasonably large latlon and waypts results
  29. 29         self.assertGreater( len(res[0]), 10 )
  30. 30         self.assertGreater( len(res[1]), 10 )
  31. 31
  32. 32     def test_drive_3wp(self):
  33. 33         pts = ['(Reykjavik;initial_time)','(64.161075;-21.583501;80kph)','(Selfoss;80kph)']
  34. 34         initial_time = datetime.datetime(2008, 11, 10, 17, 53, 59)
  35. 35         end_time = initial_time + datetime.timedelta(hours=2)
  36. 36         res = parse_drivepoints(pts, initial_time, end_time)
  37. 37
  38. 38         self.assertGreater( len(res[0]), 10 )
  39. 39         self.assertGreater( len(res[1]), 10 )
  40. 40         self.assertEqual( res[1][0]['label'], 'Reykjavik')
  41. 41         self.assertEqual( res[1][-1]['label'], 'Selfoss')
  42. 42
  43. 43     def assertApproxEqual(self, actual, expected, frac_error=0.001):
  44. 44         """ asserts that actual and expected argument are equal to within a fraction of expected value """
  45. 45         self.assertTrue( (1.0-frac_error)*expected <= actual <= expected*(1.0+frac_error) )
  46. 46
  47. 47     def test_drive_unknown_address(self):
  48. 48         pts = ['(64.14;-21.94;initial_time)','(SelfossKK;25kph)']
  49. 49         initial_time = datetime.datetime(2008, 11, 10, 17, 53, 59)
  50. 50         end_time = initial_time + datetime.timedelta(hours=2)
  51. 51
  52. 52         # catch expected exception
  53. 53         with self.assertRaises(ValueError) as e:
  54. 54             parse_drivepoints(pts, initial_time, end_time)
  55. 55
  56. 56         # exception message should report 'selfosskk' not found
  57. 57         msg = e.exception.message
  58. 58         self.assertIn("'selfosskk' not found", msg)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement