view python/tests/utils.txt @ 368:2db4e76599a1

implemented subsequence extraction and rearranged arguments
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Mon, 15 Jul 2013 15:08:53 -0400
parents 90bdabc06e9f
children 027e254f0b53
line wrap: on
line source

>>> from utils import *
>>> from moving import Point

>>> computeChi2([],[])
0.0
>>> computeChi2(range(1,10),range(1,10))
0.0
>>> computeChi2(range(1,9),range(1,10))
0.0

>>> ceilDecimals(1.23, 0)
2.0
>>> ceilDecimals(1.23, 1)
1.3

>>> inBetween(1,2,1.5)
True
>>> inBetween(2.1,1,1.5)
True
>>> inBetween(1,2,0)
False

>>> f = openCheck('non_existant_file.txt')
File non_existant_file.txt could not be opened.

>>> removeExtension('test-adfasdf.asdfa.txt')
'test-adfasdf.asdfa'
>>> removeExtension('test-adfasdf')
'test-adfasdf'

>>> values = line2Ints('1 2 3 5 6')
>>> values[0]
1
>>> values[-1]
6
>>> values = line2Floats('1.3 2.45 7.158e+01 5 6')
>>> values[0]
1.3
>>> values[2] #doctest: +ELLIPSIS
71.5...
>>> values[-1]
6.0

>>> stepPlot([3, 5, 7, 8], 1, 10, 0)
([1, 3, 3, 5, 5, 7, 7, 8, 8, 10], [0, 0, 1, 1, 2, 2, 3, 3, 4, 4])

>>> LCSS(range(5), range(5), lambda x,y:(abs(x-y) <= 0.1))
5
>>> LCSS(range(1,5), range(5), lambda x,y:(abs(x-y) <= 0.1))
4
>>> LCSS(range(5,10), range(5), lambda x,y:(abs(x-y) <= 0.1))
0
>>> LCSS(range(5), range(10), lambda x,y:(abs(x-y) <= 0.1))
5
>>> LCSS(range(5), range(10), lambda x,y:(abs(x-y) <= 0.1), 2)
5
>>> LCSS(['a','b','c'], ['a','b','c', 'd'], lambda x,y: x == y)
3
>>> LCSS(['a','b','c'], ['a','b','c', 'd'], lambda x,y: x == y, 2)
3
>>> LCSS(['a','x','b','c'], ['a','b','c','d','x'], lambda x,y: x == y)
3
>>> LCSS(['a','b','c','x','d'], ['a','b','c','d','x'], lambda x,y: x == y)
4
>>> LCSS(['a','b','c'], ['a','b','x','x','c'], lambda x,y: x == y, 1)
2

>>> LCSS(['a','b','c'], ['a','b','c', 'd'], lambda x,y: x == y, returnSubSequence = True)
(3, [(0, 0), (1, 1), (2, 2)])
>>> LCSS(['a','b','c'], ['x','a','b','c'], lambda x,y: x == y, returnSubSequence = True)
(3, [(0, 1), (1, 2), (2, 3)])
>>> LCSS(['a','g','b','c'], ['a','b','c', 'd'], lambda x,y: x == y, returnSubSequence = True)
(3, [(0, 0), (2, 1), (3, 2)])

>>> alignedLCSS(range(5), range(5), lambda x,y:(abs(x-y) <= 0.1), 2)
5
>>> alignedLCSS(range(1,5), range(5), lambda x,y:(abs(x-y) <= 0.1), 2)
4

>>> alignedLCSS(range(5,10), range(10), lambda x,y:(abs(x-y) <= 0.1), 2)
5
>>> LCSS(range(5,10), range(10), lambda x,y:(abs(x-y) <= 0.1), 2)
0
>>> alignedLCSS(range(5), range(5), lambda x,y:(abs(x-y) <= 0.1), 6)
5
>>> alignedLCSS(range(5), range(6), lambda x,y:(abs(x-y) <= 0.1), 6)
5
>>> alignedLCSS(range(1,7), range(6), lambda x,y:(abs(x-y) <= 0.1), 10)
5