Plot graphs with cairo - it is faster and nicer
[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     DimValue(d, '2.6.31')
8     DimValue(d, '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.htmlTableHeading(), '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, Space(DimensionTest(), DimensionKern()))
21     WVPASSEQ([(a.__class__.__name__, b.__class__.__name__) for a, b in t.space.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, Space(dt, dk, dd))
29     pairs = [(a.__class__.__name__, b.__class__.__name__) for a, b in t.space.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(Exception, t.getTest, v1)
59
60 #     WVPASSEQ([d.__class__.__name__ for d in t.space.iterRemainingDimensions([dt])], ['DimensionKern', 'Dimension']) 
61 #     WVPASSEQ([d.__class__.__name__ for d in t.space.iterRemainingDimensions([dt, dd])], ['DimensionKern'])
62
63 #     WVPASSEQ(str([v for v in Space(dt, dk).iterValues()]), "[[DimValue(Dimension(test), 1), DimValue(Dimension(gwkern), 'a')]]")
64 #     DimValue(dt, 2)
65 #     DimValue(dk, 'b')
66 #     WVPASSEQ(str([v for v in Space(dt, dk).iterValues()]), "[[DimValue(Dimension(test), 1), DimValue(Dimension(gwkern), 'a')], [DimValue(Dimension(test), 2), DimValue(Dimension(gwkern), 'a')], [DimValue(Dimension(test), 1), DimValue(Dimension(gwkern), 'b')], [DimValue(Dimension(test), 2), DimValue(Dimension(gwkern), 'b')]]")
67
68 @wvtest                
69 def SpaceTests():
70     d1 = Dimension(1)
71     d2 = Dimension(2)
72     d3 = Dimension(3)
73     s = Space(d1, d2, d3)
74     WVPASSEQ(str(s), "[Dimension(1), Dimension(2), Dimension(3)]")
75     v11 = DimValue(d1, 'one-one')
76     v12 = DimValue(d1, 'one-two')
77     v21 = DimValue(d2, 'two-one')
78     v22 = DimValue(d2, 'two-two')
79     v31 = DimValue(d3, 'three-one')
80     WVPASSEQ(str(DimValues([v11, v21])), "[DimValue(Dimension(1), 'one-one'), DimValue(Dimension(2), 'two-one')]")
81     WVPASSEQ(str(DimValues([v11, v21]) - d1), "[DimValue(Dimension(2), 'two-one')]")
82     WVPASSEQ(str(DimValues([v11, v21]) - d2), "[DimValue(Dimension(1), 'one-one')]")
83     WVPASSEQ(str(DimValues([v21, v31]) + v11), "[DimValue(Dimension(2), 'two-one'), DimValue(Dimension(3), 'three-one'), DimValue(Dimension(1), 'one-one')]")
84     WVPASSEQ(str(s.reorder(DimValues([v21, v31, v11]))), "[DimValue(Dimension(1), 'one-one'), DimValue(Dimension(2), 'two-one'), DimValue(Dimension(3), 'three-one')]")