comparison trafficintelligence/tests/utils.txt @ 1028:cc5cb04b04b0

major update using the trafficintelligence package name and install through pip
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Fri, 15 Jun 2018 11:19:10 -0400
parents python/tests/utils.txt@4f3387a242a1
children aafbc0bab925
comparison
equal deleted inserted replaced
1027:6129296848d3 1028:cc5cb04b04b0
1 >>> from utils import *
2 >>> from moving import Point
3
4 >>> upperCaseFirstLetter('mmmm... donuts')
5 'Mmmm... Donuts'
6 >>> s = upperCaseFirstLetter('much ado about nothing')
7 >>> s == 'Much Ado About Nothing'
8 True
9 >>> upperCaseFirstLetter(s) == s
10 True
11
12 >>> computeChi2([],[])
13 0
14 >>> computeChi2(list(range(1,10)),list(range(1,10)))
15 0.0
16 >>> computeChi2(list(range(1,9)),list(range(1,10)))
17 0.0
18
19 >>> ceilDecimals(1.23, 0)
20 2.0
21 >>> ceilDecimals(1.23, 1)
22 1.3
23
24 >>> inBetween(1,2,1.5)
25 True
26 >>> inBetween(2.1,1,1.5)
27 True
28 >>> inBetween(1,2,0)
29 False
30
31 >>> removeExtension('test-adfasdf.asdfa.txt')
32 'test-adfasdf.asdfa'
33 >>> removeExtension('test-adfasdf')
34 'test-adfasdf'
35
36 >>> values = line2Ints('1 2 3 5 6')
37 >>> values[0]
38 1
39 >>> values[-1]
40 6
41 >>> values = line2Floats('1.3 2.45 7.158e+01 5 6')
42 >>> values[0]
43 1.3
44 >>> values[2] #doctest: +ELLIPSIS
45 71.5...
46 >>> values[-1]
47 6.0
48
49 >>> stepPlot([3, 5, 7, 8], 1, 10, 0)
50 ([1, 3, 3, 5, 5, 7, 7, 8, 8, 10], [0, 0, 1, 1, 2, 2, 3, 3, 4, 4])
51
52 >>> mostCommon(['a','b','c','b'])
53 'b'
54 >>> mostCommon(['a','b','c','b', 'c'])
55 'b'
56 >>> mostCommon(list(range(10))+[1])
57 1
58 >>> mostCommon([list(range(2)), list(range(4)), list(range(2))])
59 [0, 1]
60
61 >>> res = sortByLength([list(range(3)), list(range(4)), list(range(1))])
62 >>> [len(r) for r in res]
63 [1, 3, 4]
64 >>> res = sortByLength([list(range(3)), list(range(4)), list(range(1)), list(range(5))], reverse = True)
65 >>> [len(r) for r in res]
66 [5, 4, 3, 1]
67
68 >>> lcss = LCSS(similarityFunc = lambda x,y: abs(x-y) <= 0.1)
69 >>> lcss.compute(list(range(5)), list(range(5)))
70 5
71 >>> lcss.compute(list(range(1,5)), list(range(5)))
72 4
73 >>> lcss.compute(list(range(5,10)), list(range(5)))
74 0
75 >>> lcss.compute(list(range(5)), list(range(10)))
76 5
77 >>> lcss.similarityFunc = lambda x,y: x == y
78 >>> lcss.compute(['a','b','c'], ['a','b','c', 'd'])
79 3
80 >>> lcss.computeNormalized(['a','b','c'], ['a','b','c', 'd']) #doctest: +ELLIPSIS
81 1.0
82 >>> lcss.computeNormalized(['a','b','c','x'], ['a','b','c', 'd']) #doctest: +ELLIPSIS
83 0.75
84 >>> lcss.compute(['a','b','c'], ['a','b','c', 'd'])
85 3
86 >>> lcss.compute(['a','x','b','c'], ['a','b','c','d','x'])
87 3
88 >>> lcss.compute(['a','b','c','x','d'], ['a','b','c','d','x'])
89 4
90 >>> lcss.delta = 1
91 >>> lcss.compute(['a','b','c'], ['a','b','x','x','c'])
92 2
93
94 >>> lcss.delta = float('inf')
95 >>> lcss.compute(['a','b','c'], ['a','b','c', 'd'], computeSubSequence = True)
96 3
97 >>> lcss.subSequenceIndices
98 [(0, 0), (1, 1), (2, 2)]
99 >>> lcss.compute(['a','b','c'], ['x','a','b','c'], computeSubSequence = True)
100 3
101 >>> lcss.subSequenceIndices
102 [(0, 1), (1, 2), (2, 3)]
103 >>> lcss.compute(['a','g','b','c'], ['a','b','c', 'd'], computeSubSequence = True)
104 3
105 >>> lcss.subSequenceIndices
106 [(0, 0), (2, 1), (3, 2)]
107
108 >>> alignedLcss = LCSS(lambda x,y:(abs(x-y) <= 0.1), delta = 2, aligned = True)
109 >>> alignedLcss.compute(list(range(5)), list(range(5)))
110 5
111 >>> alignedLcss.compute(list(range(1,5)), list(range(5)))
112 4
113
114 >>> alignedLcss.compute(list(range(5,10)), list(range(10)))
115 5
116
117 >>> lcss.delta = 2
118 >>> lcss.compute(list(range(5,10)), list(range(10)))
119 0
120 >>> alignedLcss.delta = 6
121 >>> alignedLcss.compute(list(range(5)), list(range(5)))
122 5
123 >>> alignedLcss.compute(list(range(5)), list(range(6)))
124 5
125 >>> lcss.delta = 10
126 >>> alignedLcss.compute(list(range(1,7)), list(range(6)))
127 5
128 >>> lcss = LCSS(lambda x,y: x == y, delta = 2, aligned = True)
129 >>> lcss.compute(list(range(20)), [2,4,6,7,8,9,11,13], True)
130 8
131 >>> lcss.subSequenceIndices
132 [(2, 0), (4, 1), (6, 2), (7, 3), (8, 4), (9, 5), (11, 6), (13, 7)]
133
134 >>> lcss = LCSS(metric = 'cityblock', epsilon = 0.1)
135 >>> lcss.compute([[i] for i in range(5)], [[i] for i in range(5)])
136 5
137 >>> lcss.compute([[i] for i in range(1,5)], [[i] for i in range(5)])
138 4
139 >>> lcss.compute([[i] for i in range(5,10)], [[i] for i in range(5)])
140 0
141 >>> lcss.compute([[i] for i in range(5)], [[i] for i in range(10)])
142 5
143
144