- 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']]))
+# 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')]")