Mercurial Hosting > traffic-intelligence
annotate python/tests/storage.txt @ 780:1b22d81ef5ff dev
cleaned and checked storage with functions for curvilinear trajectories
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Mon, 08 Feb 2016 12:24:26 -0500 |
parents | ef6dd60be2e1 |
children | 180b6b0231c0 |
rev | line source |
---|---|
215
5e2983b05d4e
created first doctest tests for storage
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
1 >>> from storage import * |
564
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
2 >>> from StringIO import StringIO |
780
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
3 >>> from moving import MovingObject, Point, TimeInterval, Trajectory, prepareSplines |
215
5e2983b05d4e
created first doctest tests for storage
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
4 |
516
bce1fe45d1b2
corrected bugs detected by tests (because of moving functions around modules
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
256
diff
changeset
|
5 >>> f = openCheck('non_existant_file.txt') |
bce1fe45d1b2
corrected bugs detected by tests (because of moving functions around modules
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
256
diff
changeset
|
6 File non_existant_file.txt could not be opened. |
bce1fe45d1b2
corrected bugs detected by tests (because of moving functions around modules
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
256
diff
changeset
|
7 |
564
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
8 >>> nonexistentFilename = "nonexistent" |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
9 >>> loadPrototypeMatchIndexesFromSqlite(nonexistentFilename) |
215
5e2983b05d4e
created first doctest tests for storage
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
10 DB Error: no such table: prototypes |
5e2983b05d4e
created first doctest tests for storage
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
11 [] |
564
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
12 >>> loadTrajectoriesFromSqlite(nonexistentFilename, 'feature') |
215
5e2983b05d4e
created first doctest tests for storage
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
13 DB Error: no such table: positions |
256
dc1faa7287bd
added the normal adaptation class
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
215
diff
changeset
|
14 DB Error: no such table: velocities |
215
5e2983b05d4e
created first doctest tests for storage
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff
changeset
|
15 [] |
564
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
16 >>> from os import remove |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
17 >>> remove(nonexistentFilename) |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
18 |
777
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
19 >>> o1 = MovingObject.generate(Point(0.,0.), Point(1.,0.), TimeInterval(0,10)) |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
20 >>> o1.num = 2 |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
21 >>> o2 = MovingObject.generate(Point(1.,1.), Point(-0.5,-0.2), TimeInterval(0,9)) |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
22 >>> o2.num = 3 |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
23 >>> saveTrajectoriesToSqlite('test.sqlite', [o1, o2], 'feature') |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
24 >>> objects = loadTrajectoriesFromSqlite('test.sqlite', 'feature') |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
25 >>> objects[0].getNum() == o1.num |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
26 True |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
27 >>> objects[1].getNum() == o2.num |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
28 True |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
29 >>> o1.getTimeInterval() == objects[0].getTimeInterval() |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
30 True |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
31 >>> o2.getTimeInterval() == objects[1].getTimeInterval() |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
32 True |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
33 >>> o1.getVelocities() == objects[0].getVelocities() |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
34 True |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
35 >>> o2.getVelocities() == objects[1].getVelocities() |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
36 True |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
37 >>> o1.getPositions() == objects[0].getPositions() |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
38 True |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
39 >>> o2.getPositions() == objects[1].getPositions() |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
40 True |
780
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
41 >>> align1 = Trajectory.fromPointList([Point(-1, 0), Point(20, 0)]) |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
42 >>> align2 = Trajectory.fromPointList([Point(-9, -3), Point(6, 3)]) |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
43 >>> align1.computeCumulativeDistances() |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
44 >>> align2.computeCumulativeDistances() |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
45 >>> prepareSplines([align1, align2]) |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
46 >>> o1.projectCurvilinear([align1, align2]) |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
47 >>> o2.projectCurvilinear([align1, align2]) |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
48 >>> saveTrajectoriesToSqlite('test.sqlite', [o1, o2], 'curvilinear') |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
49 >>> addCurvilinearTrajectoriesFromSqlite('test.sqlite', {o.num: o for o in objects}) |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
50 >>> o1.curvilinearPositions[3][:2] == objects[0].curvilinearPositions[3][:2] |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
51 True |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
52 >>> o1.curvilinearPositions[7][:2] == objects[0].curvilinearPositions[7][:2] |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
53 True |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
54 >>> [str(l) for l in o1.curvilinearPositions.getLanes()] == objects[0].curvilinearPositions.getLanes() |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
55 True |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
56 >>> o2.curvilinearPositions[2][:2] == objects[1].curvilinearPositions[2][:2] |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
57 True |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
58 >>> o2.curvilinearPositions[6][:2] == objects[1].curvilinearPositions[6][:2] |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
59 True |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
60 >>> [str(l) for l in o2.curvilinearPositions.getLanes()] == objects[1].curvilinearPositions.getLanes() |
1b22d81ef5ff
cleaned and checked storage with functions for curvilinear trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
777
diff
changeset
|
61 True |
777
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
62 >>> remove('test.sqlite') |
ef6dd60be2e1
added function to save feature trajectories
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
564
diff
changeset
|
63 |
564
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
64 >>> strio = StringIO('# asdlfjasdlkj0\nsadlkfjsdlakjf') |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
65 >>> readline(strio) |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
66 'sadlkfjsdlakjf' |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
67 >>> strio = StringIO('# asdlfjasdlkj0\nsadlkfjsdlakjf') |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
68 >>> readline(strio, ['#']) |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
69 'sadlkfjsdlakjf' |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
70 >>> strio = StringIO('# asdlfjasdlkj0\nsadlkfjsdlakjf') |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
71 >>> readline(strio, ['%']) |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
72 '# asdlfjasdlkj0' |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
73 >>> strio = StringIO('# asdlfjasdlkj0\nsadlkfjsdlakjf') |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
74 >>> readline(strio, '%*$') |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
75 '# asdlfjasdlkj0' |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
76 >>> readline(strio, '%#') |
36605d843be5
modified bug for reading vissim files, cleaned use of readline with multiple type of characters for comments (to ignore)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
516
diff
changeset
|
77 'sadlkfjsdlakjf' |