from wvtest import *
from genhtml import *
@wvtest
def Dimension_and_DimValue():
d = Dimension('kern', 'Kernel')
d.addValue('2.6.31')
d.addValue('2.6.30')
l=[]
for v in d:
WVPASSEQ(v.__class__, DimValue)
l.append(v.value)
lsorted = ['2.6.30', '2.6.31']
WVPASSEQ(l, lsorted)
WVPASSEQ(v.htmlLabel(), '2.6.31')
WVPASSEQ(d['2.6.31'].value, '2.6.31')
@wvtest
def Two_Dimensions_in_Tests():
t = Tests(None, DimensionTest(), DimensionKern())
WVPASSEQ([(a.__class__.__name__, b.__class__.__name__) for a, b in t.iterDimensionPairs()],
[('DimensionTest', 'DimensionKern'), ('DimensionKern', 'DimensionTest')])
@wvtest
def Three_Dimensions_in_Tests():
dt = DimensionTest()
dk = DimensionKern()
dd = Dimension('tmp', "Tmp")
t = Tests(None, dt, dk, dd)
pairs = [(a.__class__.__name__, b.__class__.__name__) for a, b in t.iterDimensionPairs()]
WVPASSEQ(pairs[0], ('DimensionTest', 'DimensionKern'))
WVPASSEQ(pairs[1], ('DimensionKern', 'DimensionTest'))
WVPASSEQ(pairs[2], ('DimensionTest', 'Dimension'))
WVPASSEQ(pairs[3], ('Dimension', 'DimensionTest'))
WVPASSEQ(pairs[4], ('DimensionKern', 'Dimension'))
WVPASSEQ(pairs[5], ('Dimension', 'DimensionKern'))
WVPASSEQ(len(pairs), 6)
WVEXCEPT(KeyError, t.addTest, None, [1, 2])
WVEXCEPT(KeyError, t.addTest, None, [1, 2, 3, 4])
class MyTest(Test):
pass
t.addTest(MyTest, [1, 'a', 'A']);
WVPASSEQ(dt.keys(), [1])
WVPASSEQ(dk.keys(), ['a'])
WVPASSEQ(dd.keys(), ['A'])
v1 = dt[1]
v2 = dk['a']
v3 = dd['A']
WVPASSEQ(t.getTest((v1, v2, v3)), MyTest)
WVPASSEQ(t.getTest((v1, v3, v2)), MyTest)
WVPASSEQ(t.getTest((v3, v2, v1)), MyTest)
WVEXCEPT(KeyError, t.getTest, (v1, v1, v1))
WVEXCEPT(KeyError, t.getTest, (v1, v2))
WVEXCEPT(TypeError, t.getTest, v1)
WVPASSEQ([d.__class__.__name__ for d in t.iterRemainingDimensions([dt])], ['DimensionKern', 'Dimension'])
WVPASSEQ([d.__class__.__name__ for d in t.iterRemainingDimensions([dt, dd])], ['DimensionKern'])
WVPASSEQ(str([v for v in iterDimValues([dt, dk])]), str([[1,'a']]))
dt.addValue(2)
dk.addValue('b')
WVPASSEQ(str([v for v in iterDimValues([dt, dk])]), str([[1, 'a'], [2, 'a'], [1, 'b'], [2, 'b']]))