Working version of genhtml
[can-benchmark.git] / gw-tests / genhtml / genhtml-test.py
1 from wvtest import *
2 from genhtml import *
3
4 @wvtest
5 def Dimension_and_DimValue():
6     d = Dimension('kern', 'Kernel')
7     d.addValue('2.6.31')
8     d.addValue('2.6.30')
9     l=[]
10     for v in d:
11         WVPASSEQ(v.__class__, DimValue)
12         l.append(v.value)
13     lsorted = ['2.6.30', '2.6.31']
14     WVPASSEQ(l, lsorted)
15     WVPASSEQ(v.htmlLabel(), '2.6.31')
16     WVPASSEQ(d['2.6.31'].value, '2.6.31')
17     
18 @wvtest                
19 def Two_Dimensions_in_Tests():
20     t = Tests(None, DimensionTest(), DimensionKern())
21     WVPASSEQ([(a.__class__.__name__, b.__class__.__name__) for a, b in t.iterDimensionPairs()],
22              [('DimensionTest', 'DimensionKern'), ('DimensionKern', 'DimensionTest')])
23 @wvtest                
24 def Three_Dimensions_in_Tests():
25     dt = DimensionTest()
26     dk = DimensionKern()
27     dd = Dimension('tmp', "Tmp")
28     t = Tests(None, dt, dk, dd)
29     pairs = [(a.__class__.__name__, b.__class__.__name__) for a, b in t.iterDimensionPairs()]
30     WVPASSEQ(pairs[0], ('DimensionTest', 'DimensionKern'))
31     WVPASSEQ(pairs[1], ('DimensionKern', 'DimensionTest'))
32     WVPASSEQ(pairs[2], ('DimensionTest', 'Dimension'))
33     WVPASSEQ(pairs[3], ('Dimension', 'DimensionTest'))
34     WVPASSEQ(pairs[4], ('DimensionKern', 'Dimension'))
35     WVPASSEQ(pairs[5], ('Dimension', 'DimensionKern'))
36     WVPASSEQ(len(pairs), 6)
37     WVEXCEPT(KeyError, t.addTest, None, [1, 2])
38     WVEXCEPT(KeyError, t.addTest, None, [1, 2, 3, 4])
39
40     class MyTest(Test):
41         pass
42
43     t.addTest(MyTest, [1, 'a', 'A']);
44
45     WVPASSEQ(dt.keys(), [1])
46     WVPASSEQ(dk.keys(), ['a'])
47     WVPASSEQ(dd.keys(), ['A'])
48
49     v1 = dt[1]
50     v2 = dk['a']
51     v3 = dd['A']
52
53     WVPASSEQ(t.getTest((v1, v2, v3)), MyTest)
54     WVPASSEQ(t.getTest((v1, v3, v2)), MyTest)
55     WVPASSEQ(t.getTest((v3, v2, v1)), MyTest)
56     WVEXCEPT(KeyError, t.getTest, (v1, v1, v1))
57     WVEXCEPT(KeyError, t.getTest, (v1, v2))
58     WVEXCEPT(TypeError, t.getTest, v1)
59
60     WVPASSEQ([d.__class__.__name__ for d in t.iterRemainingDimensions([dt])], ['DimensionKern', 'Dimension']) 
61     WVPASSEQ([d.__class__.__name__ for d in t.iterRemainingDimensions([dt, dd])], ['DimensionKern'])
62
63     WVPASSEQ(str([v for v in iterDimValues([dt, dk])]), str([[1,'a']]))
64     dt.addValue(2)
65     dk.addValue('b')
66     WVPASSEQ(str([v for v in iterDimValues([dt, dk])]), str([[1, 'a'], [2, 'a'], [1, 'b'], [2, 'b']]))