[docs]defcontains(value:object)->Predicate[Container]:"""Create a new predicate that succeeds when its argument contains ``value``."""@bind_name(contains,value)defcompare(container:Container)->bool:returnvalueincontainerreturncompare
[docs]defcontained(container:Container)->Predicate[object]:""" Create a new predicate that succeeds when its argument is contained by ``container``. """@bind_name(contained,container)defcompare(value:object)->bool:returnvalueincontainerreturncompare
[docs]defcount(predicate:Predicate[int])->Predicate[Sized]:""" Create a predicate that succeeds when the size of its argument satisfies the given ``predicate``. """@bind_name(count,predicate)defcompare(sized:Sized)->bool:returnpredicate(len(sized))returncompare
_O=TypeVar("_O",bound=object)
[docs]defexists(predicate:Predicate[_O])->Predicate[Iterable]:""" Create a predicate that succeeds when one or more items in its argument satisfies ``predicate``. """@bind_name(exists,predicate)defcompare(iterable:Iterable)->bool:returnany(predicate(item)foriteminiterable)returncompare
[docs]defevery(predicate:Predicate[_O])->Predicate[Iterable]:""" Create a predicate that succeeds when all items in its argument satisfy ``predicate``. """@bind_name(every,predicate)defcompare(iterable:Iterable)->bool:returnall(predicate(item)foriteminiterable)returncompare