def test_book_example(self): # Default is HI_Open f_interval = Interval(Fraction(1, 4), Fraction(3, 5)) print(f_interval) assert f_interval.contains(Fraction(1, 4)) assert not f_interval.contains(Fraction(3, 5)) # Intervals can be constructed with integer ranges. Note the resulting boundary policy. interval = Interval(1, 5, BoundaryPolicy.Closed).intersection( Interval(4, 6, BoundaryPolicy.Open)) assert interval.policy == BoundaryPolicy.LO_Open print(interval)
def test_simple_interval(self): int_interval = Interval(5, 9) assert int_interval.contains(7) assert int_interval.contains(6) assert Interval.intersects(int_interval, Interval(7, 10)) assert int_interval.intersection(Interval(7, 10)) == Interval( 7, 9).intersection(int_interval)
def test_boundary(self): f_interval = Interval(Fraction(1, 4), Fraction(3, 5)) assert f_interval.contains(Fraction(1, 4)) assert not f_interval.contains(Fraction(3, 5)) f_interval = Interval(Fraction(1, 4), Fraction(3, 5), BoundaryPolicy.Open) assert not f_interval.contains(Fraction(1, 4)) assert not f_interval.contains(Fraction(3, 5)) f_interval = Interval(Fraction(1, 4), Fraction(3, 5), BoundaryPolicy.Closed) assert f_interval.contains(Fraction(1, 4)) assert f_interval.contains(Fraction(3, 5)) f_interval = Interval(Fraction(1, 4), Fraction(3, 5), BoundaryPolicy.LO_Open) assert not f_interval.contains(Fraction(1, 4)) assert f_interval.contains(Fraction(3, 5))