Mercurial Hosting > traffic-intelligence
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()