e1ddlmZmZmZddlmZddlmZddlm Z ddl m Z ddl m Z dZdZd Zed ZGd d eeeZd ee eefde eefdZy))SequenceTypeVarUnion) BaseMatcher)any_of) Description) wrap_matcher)MatcherzJon ReidzCopyright 2011 hamcrest.orgzBSD, see License.txtTcHeZdZdeeddfdZdeedefdZde ddfdZ y) IsSequenceOnlyContainingmatcherreturnNc||_y)N)r)selfrs W/usr/lib/python3/dist-packages/hamcrest/library/collection/issequence_onlycontaining.py__init__z!IsSequenceOnlyContaining.__init__s  itemc t|}t|dk(ry|D]}|jj|ryy#t$rYywxYw)NrFT)listlenrmatches TypeError)rrsequenceelements r_matchesz!IsSequenceOnlyContaining._matchessZ DzH8}!# !||++G4  !  s A AAA A  A  descriptioncX|jdj|jy)Nz%a sequence containing items matching ) append_textappend_description_ofr)rrs r describe_toz$IsSequenceOnlyContaining.describe_to s# GH^^ LL r) __name__ __module__ __qualname__r r rrboolrrr"rrr r sC t Xa[ T  { t rr itemsrcjg}|D]}|jt|tt|S)aMatches if each element of sequence satisfies any of the given matchers. :param match1,...: A comma-separated list of matchers. This matcher iterates the evaluated sequence, confirming whether each element satisfies any of the given matchers. Example:: only_contains(less_than(4)) will match ``[3,1,2]``. Any argument that is not a matcher is implicitly wrapped in an :py:func:`~hamcrest.core.core.isequal.equal_to` matcher to check for equality. )appendr r r)r(matchersrs r only_containsr,&s9&H, T*+, #FH$5 66rN)typingrrrhamcrest.core.base_matcherrhamcrest.core.core.anyofrhamcrest.core.descriptionr"hamcrest.core.helpers.wrap_matcherr hamcrest.core.matcherr __author__ __copyright__ __license__r r r,r'rrr6sp++2+1;)  - $  CL {8A;7 ,7% A .778A;3G7r