def test_dimension_comparisons(): d1 = Dimension.dynamic() d2 = Dimension.dynamic() assert d1 == d2 assert d1 == -1 assert d1.refines(d2) assert d1.relaxes(d2) assert d2.refines(d1) assert d2.relaxes(d1) assert d2.compatible(d1) assert d2.same_scheme(d1) d1 = Dimension.dynamic() d2 = Dimension(3) assert d1 != d2 assert d2 == 3 assert not d1.refines(d2) assert d1.relaxes(d2) assert d2.refines(d1) assert not d2.relaxes(d1) assert d2.compatible(d1) assert not d2.same_scheme(d1) d1 = Dimension(3) d2 = Dimension(3) assert d1 == d2 assert d1.refines(d2) assert d1.relaxes(d2) assert d2.refines(d1) assert d2.relaxes(d1) assert d2.compatible(d1) assert d2.same_scheme(d1) d1 = Dimension(4) d2 = Dimension(3) assert d1 != d2 assert not d1.refines(d2) assert not d1.relaxes(d2) assert not d2.refines(d1) assert not d2.relaxes(d1) assert not d2.compatible(d1) assert not d2.same_scheme(d1)
def test_dimension_comparisons(): d1 = Dimension.dynamic() d2 = Dimension.dynamic() assert d1 == d2 assert d1 == -1 assert d1.refines(d2) assert d1.relaxes(d2) assert d2.refines(d1) assert d2.relaxes(d1) assert d2.compatible(d1) assert d2.same_scheme(d1) d1 = Dimension.dynamic() d2 = Dimension(3) assert d1 != d2 assert d2 == 3 assert not d1.refines(d2) assert d1.relaxes(d2) assert d2.refines(d1) assert not d2.relaxes(d1) assert d2.compatible(d1) assert not d2.same_scheme(d1) d1 = Dimension(3) d2 = Dimension(3) assert d1 == d2 assert d1.refines(d2) assert d1.relaxes(d2) assert d2.refines(d1) assert d2.relaxes(d1) assert d2.compatible(d1) assert d2.same_scheme(d1) d1 = Dimension(4) d2 = Dimension(3) assert d1 != d2 assert not d1.refines(d2) assert not d1.relaxes(d2) assert not d2.refines(d1) assert not d2.relaxes(d1) assert not d2.compatible(d1) assert not d2.same_scheme(d1) d = Dimension("?") assert d == Dimension() d = Dimension("1") assert d == Dimension(1) d = Dimension("..10") assert d == Dimension(-1, 10) d = Dimension("10..") assert d == Dimension(10, -1) d = Dimension("5..10") assert d == Dimension(5, 10) with pytest.raises(RuntimeError) as e: d = Dimension("C") assert 'Cannot parse dimension: "C"' in str(e.value) with pytest.raises(RuntimeError) as e: d = Dimension("?..5") assert 'Cannot parse min bound: "?"' in str(e.value) with pytest.raises(RuntimeError) as e: d = Dimension("5..?") assert 'Cannot parse max bound: "?"' in str(e.value)