def Intersect_test(): eq_(Interval(10, 20) & Interval(1, 9), Interval.Empty()) eq_(Interval(10, 20) & Interval(21, 30), Interval.Empty()) eq_(Interval(10, 20) & Interval(20, 30), Interval(20, 20)) eq_(Interval(10, 20) & Interval(1, 10), Interval(10, 10)) eq_(Interval(10, 20) & Interval(1, 15), Interval(10, 15)) eq_(Interval(10, 20) & Interval(17, 25), Interval(17, 20)) eq_(Interval(10, 20) & Interval(1, 30), Interval(10, 20)) s = IntervalSet(Interval(5, 10), Interval(20, 25)) eq_(Interval(1, 4) & s, Interval.Empty()) eq_(Interval(7, 15) & s, Interval(7, 10)) eq_(Interval(23, 30) & s, Interval(23, 25)) eq_(Interval(26, 30) & s, Interval.Empty()) eq_(Interval(7, 25) & s, IntervalSet(Interval(7, 10), Interval(20, 25)))
def Subtract_test(): ok_(not (Interval(10, 20) - Interval(10, 20))) ok_(not (Interval(10, 20) - Interval(5, 25))) eq_(Interval(10, 20) - Interval(10, 20), Interval.Empty()) eq_(Interval(10, 20) - Interval(5, 25), Interval.Empty()) eq_(Interval(10, 20) - Interval(1, 10), Interval(11, 20)) eq_(Interval(10, 20) - Interval(1, 13), Interval(14, 20)) eq_(Interval(10, 20) - Interval(20, 30), Interval(10, 19)) eq_(Interval(10, 20) - Interval(16, 30), Interval(10, 15)) eq_( Interval(10, 20) - Interval(14, 17), IntervalSet(Interval(10, 13), Interval(18, 20))) eq_( Interval(1, 10) - IntervalSet(Interval(2, 3), Interval(5, 7)), IntervalSet(Interval(1, 1), Interval(4, 4), Interval(8, 10)))
def Boolean_test(): ok_(Interval(1, 1)) ok_(Interval(1, 10)) ok_(not Interval(2, 1)) ok_(not Interval(0, 0)) ok_(not Interval(0, 5)) ok_(not Interval(-1, 1)) ok_(not Interval.Empty())