diff python/tests/tutorials.py @ 648:da665302c88d

added some tutorial code as tests to avoid tutorial to become out of sync with code changes
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Wed, 15 Apr 2015 18:17:50 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/python/tests/tutorials.py	Wed Apr 15 18:17:50 2015 +0200
@@ -0,0 +1,39 @@
+import unittest
+
+class TestNGSIM(unittest.TestCase):
+    'Tutorial example for NGSIM data'
+
+    def test_ex1(self):
+        import storage
+        objects = storage.loadTrajectoriesFromNgsimFile('../samples/trajectories-0400-0415.txt',100)
+        for o in objects: o.plot()
+
+class TestTrajectoryLoading(unittest.TestCase):
+    'Tutorial example for NGSIM data'
+
+    def test_ex1(self):
+        import storage
+        objects = storage.loadTrajectoriesFromSqlite('../samples/laurier.sqlite', 'object')
+
+        speed = objects[0].getVelocityAtInstant(10).norm2()
+        timeInterval = objects[0].getTimeInterval()
+        speeds = [objects[0].getVelocityAtInstant(t).norm2() for t in range(timeInterval.first, timeInterval.last)]
+        speeds = [v.norm2() for v in objects[0].getVelocities()]
+
+        from matplotlib.pyplot import plot, close, axis
+        plot(range(timeInterval.first, timeInterval.last+1), speeds)
+
+        close('all')
+        objects[0].plot()
+        axis('equal')
+
+        features = storage.loadTrajectoriesFromSqlite('../samples/laurier.sqlite', 'feature')
+        objects[0].setFeatures(features)
+
+        for f in objects[0].features:
+            f.plot()
+        axis('equal')
+
+
+if __name__ == '__main__':
+    unittest.main()