from wvtest import *
from genhtml import *
@wvtest
def Dimension_and_DimValue():
d = Dimension('kern', 'Kernel')
DimValue(d, '2.6.31')
DimValue(d, '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.htmlTableHeading(), '2.6.31')
WVPASSEQ(d['2.6.31'].value, '2.6.31')
@wvtest
def Two_Dimensions_in_Tests():
t = Tests(None, Space(DimensionTest(), DimensionKern()))
WVPASSEQ([(a.__class__.__name__, b.__class__.__name__) for a, b in t.space.iterDimensionPairs()],
[('DimensionTest', 'DimensionKern'), ('DimensionKern', 'DimensionTest')])
@wvtest
def Three_Dimensions_in_Tests():
dt = DimensionTest()
dk = DimensionKern()
dd = Dimension('tmp', "Tmp")
t = Tests(None, Space(dt, dk, dd))
pairs = [(a.__class__.__name__, b.__class__.__name__) for a, b in t.space.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(Exception, t.getTest, v1)
# WVPASSEQ([d.__class__.__name__ for d in t.space.iterRemainingDimensions([dt])], ['DimensionKern', 'Dimension'])
# WVPASSEQ([d.__class__.__name__ for d in t.space.iterRemainingDimensions([dt, dd])], ['DimensionKern'])
# WVPASSEQ(str([v for v in Space(dt, dk).iterValues()]), "[[DimValue(Dimension(test), 1), DimValue(Dimension(gwkern), 'a')]]")
# DimValue(dt, 2)
# DimValue(dk, 'b')
# 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')]]")
@wvtest
def SpaceTests():
d1 = Dimension(1)
d2 = Dimension(2)
d3 = Dimension(3)
s = Space(d1, d2, d3)
WVPASSEQ(str(s), "[Dimension(1), Dimension(2), Dimension(3)]")
v11 = DimValue(d1, 'one-one')
v12 = DimValue(d1, 'one-two')
v21 = DimValue(d2, 'two-one')
v22 = DimValue(d2, 'two-two')
v31 = DimValue(d3, 'three-one')
WVPASSEQ(str(DimValues([v11, v21])), "[DimValue(Dimension(1), 'one-one'), DimValue(Dimension(2), 'two-one')]")
WVPASSEQ(str(DimValues([v11, v21]) - d1), "[DimValue(Dimension(2), 'two-one')]")
WVPASSEQ(str(DimValues([v11, v21]) - d2), "[DimValue(Dimension(1), 'one-one')]")
WVPASSEQ(str(DimValues([v21, v31]) + v11), "[DimValue(Dimension(2), 'two-one'), DimValue(Dimension(3), 'three-one'), DimValue(Dimension(1), 'one-one')]")
WVPASSEQ(str(s.reorder(DimValues([v21, v31, v11]))), "[DimValue(Dimension(1), 'one-one'), DimValue(Dimension(2), 'two-one'), DimValue(Dimension(3), 'three-one')]")