示例#1
0
def test_sympyissue_9447():
    a = Interval(0, 1) + Interval(2, 3)
    assert (Complement(S.UniversalSet, a) ==
            Complement(S.UniversalSet,
                       Union(Interval(0, 1), Interval(2, 3)), evaluate=False))
    # issue sympy/sympy#10305:
    assert (Complement(S.Naturals, a) ==
            Complement(S.Naturals,
                       Union(Interval(0, 1), Interval(2, 3)), evaluate=False))
示例#2
0
def test_sympyissue_9808():
    assert (Complement(FiniteSet(y),
                       FiniteSet(1)) == Complement(FiniteSet(y),
                                                   FiniteSet(1),
                                                   evaluate=False))
    assert (Complement(FiniteSet(1, 2, x),
                       FiniteSet(x, y, 2, 3)) == Complement(FiniteSet(1),
                                                            FiniteSet(y),
                                                            evaluate=False))
示例#3
0
def test_sympyissue_9637():
    n = Symbol('n')
    a = FiniteSet(n)
    b = FiniteSet(2, n)
    assert Complement(S.Reals, a) == Complement(S.Reals, a, evaluate=False)
    assert Complement(Interval(1, 3), a) == Complement(Interval(1, 3), a, evaluate=False)
    assert (Complement(Interval(1, 3), b) ==
            Complement(Union(Interval(1, 2, right_open=True),
                             Interval(2, 3, left_open=True)), a, evaluate=False))
    assert Complement(a, S.Reals) == Complement(a, S.Reals, evaluate=False)
    assert Complement(a, Interval(1, 3)) == Complement(a, Interval(1, 3), evaluate=False)
示例#4
0
def test_complement():
    assert Interval(0, 1).complement(S.Reals) == \
        Union(Interval(-oo, 0, True, True), Interval(1, oo, True, True))
    assert Interval(0, 1, True, False).complement(S.Reals) == \
        Union(Interval(-oo, 0, True, False), Interval(1, oo, True, True))
    assert Interval(0, 1, False, True).complement(S.Reals) == \
        Union(Interval(-oo, 0, True, True), Interval(1, oo, False, True))
    assert Interval(0, 1, True, True).complement(S.Reals) == \
        Union(Interval(-oo, 0, True, False), Interval(1, oo, False, True))

    assert S.UniversalSet.complement(S.EmptySet) == S.EmptySet
    assert S.UniversalSet.complement(S.Reals) == S.EmptySet
    assert S.UniversalSet.complement(S.UniversalSet) == S.EmptySet

    assert S.EmptySet.complement(S.Reals) == S.Reals

    assert Union(Interval(0, 1), Interval(2, 3)).complement(S.Reals) == \
        Union(Interval(-oo, 0, True, True), Interval(1, 2, True, True),
              Interval(3, oo, True, True))

    assert FiniteSet(0).complement(S.Reals) ==  \
        Union(Interval(-oo, 0, True, True), Interval(0, oo, True, True))

    assert (FiniteSet(5) + Interval(-oo,
                                    0)).complement(S.Reals) == \
        Interval(0, 5, True, True) + Interval(5, oo, True, True)

    assert FiniteSet(1, 2, 3).complement(S.Reals) == \
        Interval(-oo, 1, True, True) + \
        Interval(1, 2, True, True) + Interval(2, 3, True, True) +\
        Interval(3, oo, True, True)

    assert FiniteSet(x).complement(S.Reals) == Complement(
        S.Reals, FiniteSet(x))

    assert FiniteSet(0, x).complement(S.Reals) == Complement(
        Interval(-oo, 0, True, True) + Interval(0, oo, True, True),
        FiniteSet(x),
        evaluate=False)

    square = Interval(0, 1) * Interval(0, 1)
    notsquare = square.complement(S.Reals * S.Reals)

    assert all(pt in square for pt in [(0, 0), (.5, .5), (1, 0), (1, 1)])
    assert not any(pt in notsquare
                   for pt in [(0, 0), (.5, .5), (1, 0), (1, 1)])
    assert not any(pt in square for pt in [(-1, 0), (1.5, .5), (10, 10)])
    assert all(pt in notsquare for pt in [(-1, 0), (1.5, .5), (10, 10)])
示例#5
0
def test_difference():
    assert Interval(1, 3) - Interval(1, 2) == Interval(2, 3, True)
    assert Interval(1, 3) - Interval(2, 3) == Interval(1, 2, False, True)
    assert Interval(1, 3, True) - Interval(2, 3) == Interval(1, 2, True, True)
    assert Interval(1, 3, True) - Interval(2, 3, True) == \
        Interval(1, 2, True, False)
    assert Interval(0, 2) - FiniteSet(1) == \
        Union(Interval(0, 1, False, True), Interval(1, 2, True, False))

    assert FiniteSet(1, 2, 3) - FiniteSet(2) == FiniteSet(1, 3)
    assert (FiniteSet('ham', 'eggs') - FiniteSet('eggs') ==
            Complement(FiniteSet('ham'), FiniteSet('eggs')))
    assert FiniteSet(1, 2, 3, 4) - Interval(2, 10, True, False) == \
        FiniteSet(1, 2)
    assert FiniteSet(1, 2, 3, 4) - S.EmptySet == FiniteSet(1, 2, 3, 4)
    assert Union(Interval(0, 2), FiniteSet(2, 3, 4)) - Interval(1, 3) == \
        Union(Interval(0, 1, False, True), FiniteSet(4))

    assert -1 in S.Reals - S.Naturals
示例#6
0
def test_Complement():
    assert Complement(Interval(1, 3), Interval(1, 2)) == Interval(2, 3, True)
    assert Complement(FiniteSet(1, 3, 4), FiniteSet(3, 4)) == FiniteSet(1)
    assert Complement(Union(Interval(0, 2),
                            FiniteSet(2, 3, 4)), Interval(1, 3)) == \
        Union(Interval(0, 1, False, True), FiniteSet(4))

    assert 3 not in Complement(Interval(0, 5), Interval(1, 4), evaluate=False)
    assert -1 in Complement(S.Reals, S.Naturals, evaluate=False)
    assert 1 not in Complement(S.Reals, S.Naturals, evaluate=False)

    assert Complement(S.Integers, S.UniversalSet) == EmptySet()
    assert S.UniversalSet.complement(S.Integers) == EmptySet()

    assert (0 not in S.Reals.intersection(S.Integers - FiniteSet(0)))

    assert S.EmptySet - S.Integers == S.EmptySet

    assert (S.Integers - FiniteSet(0)) - FiniteSet(1) == S.Integers - FiniteSet(0, 1)

    assert (S.Reals - Union(S.Naturals, FiniteSet(pi)) ==
            Intersection(S.Reals - S.Naturals, S.Reals - FiniteSet(pi)))
示例#7
0
def test_Complement():
    assert str(Complement(S.Reals, S.Naturals)) == '(-oo, oo) \ Naturals()'