示例#1
0
    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)
示例#2
0
    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)
示例#3
0
    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))