def test_not(): assert IsNoneOf is Not assert [1] == [IsNoneOf(0, 2, GreaterThan(3))] assert {'a': [None]} == {'a': IsNoneOf(Ellipsis, 0, [])} assert not [1] == [IsNoneOf(0, 1, 2)] assert str([Not(0, 1, 2)]) == '[Not(0, 1, 2)]'
def test_is_falsy(): assert [0, False, [], set(), {}, ()] == All(IsFalsy()) assert [1, True, [0], {0}, {'': None}, (0, )] == All(Not(IsFalsy())) assert str(All(Not(IsFalsy()))) == 'All(Not(IsFalsy()))'
def make_not_one() -> Iterator[Not]: yield Not(1)
def make_not_or_123() -> Iterator[Not]: yield Not(Or(EqualTo(1), 2, 3))
def make_not_not_eq_one_eq_two() -> Iterator[Not]: yield Not(Not(EqualTo(1), EqualTo(2)))
def make_not_not_eq_one() -> Iterator[Not]: yield Not(Not(EqualTo(1)))
def make_not_ne_one() -> Iterator[Not]: yield Not(NE(1))