def test_intervals_subtract(self, x, y): nullx = NullInterval(x) # All nulls assert nullx.subtract(nullx) == nullx ix = Interval(x, 2, -2) # Mixed nulls and defined on the same dimension assert nullx.subtract(ix) == nullx assert ix.subtract(ix) == Interval(x, 0, 0) assert ix.subtract(nullx) == ix ix2 = Interval(x, 4, -4) ix3 = Interval(x, 6, -6) # All defined same dimension assert ix2.subtract(ix) == ix assert ix.subtract(ix2) == Interval(x, -2, 2) assert ix3.subtract(ix) == ix2 c = Constant(name='c') ix4 = Interval(x, c + 2, c + 4) ix5 = Interval(x, c + 1, c + 5) # All defined symbolic assert ix4.subtract(ix5) == Interval(x, 1, -1) assert ix5.subtract(ix4) == Interval(x, -1, 1) assert ix5.subtract(ix) == Interval(x, c - 1, c + 7)
def test_intervals_subtract(self): nullx = NullInterval(x) # All nulls assert nullx.subtract(nullx) == nullx ix = Interval(x, 2, -2) # Mixed nulls and defined on the same dimension assert nullx.subtract(ix) == nullx assert ix.subtract(ix) == Interval(x, 0, 0) assert ix.subtract(nullx) == ix ix2 = Interval(x, 4, -4) ix3 = Interval(x, 6, -6) # All defined same dimension assert ix2.subtract(ix) == ix assert ix.subtract(ix2) == Interval(x, -2, 2) assert ix3.subtract(ix) == ix2