U 5`a @s ddlmZddlmZmZddlmZddlmZm Z ddl m Z m Z ddl mZddlmZddlmZed kred krdd lmZned krdd lmZnd d ZddZddZddZede ddife ddiffddZddZddZddZd d!Zd"S)#)Decimal) DistributionDistributionNotFound)mark)TypeDefinition Validator) assert_failassert_success)validator_factory) BareValidator)PYTHON_VERSIONg333333 @)reloadc Cs<dd}|"}td}|d|t|W5QRXdS)NcSs tdddS)Ncerberusz1.2.3)Z project_nameversion)rnamerM/opt/alt/python38/lib/python3.8/site-packages/cerberus/tests/test_assorted.pycreate_fake_distributionsz;test_pkgresources_version..create_fake_distributionrpkg_resources.get_distributioncontext __import__setattrr) monkeypatchrmrrrrtest_pkgresources_versions   rc Cs<dd}|"}td}|d|t|W5QRXdS)NcSs tddS)Nz%pkg_resources cannot get distribution)rrrrrraise_distribution_not_found#sz.raise_distribution_not_foundrrr)rrrrrrrtest_version_not_found"s   rcCs |dSN)Z clear_caches validatorrrrtest_clear_cache-sr#cCsdSr rr!rrrtest_docstring3sr$z test,documentZ an_integer<ncCs.z ||Wntk r Yn XtddS)Nztest didn't fail)AssertionError)testdocumentrrrtest_that_test_fails;s  r*csltdtfddtdi}dddii}t}|jd<t|||Gfdddt}|}t|||dS)NdecimalrZ measurementrtypecseZdZejZed<dS)z'test_dynamic_types..MyValidatorr+N)__name__ __module__ __qualname__r types_mappingcopyrZ decimal_typerr MyValidatorQs r3)rrrr0r )r)Zschemar"r3rr2rtest_dynamic_typesHs    r4cCsdSr rrrrrtest_mroYsr5cs(Gfdddttd}|}dS)NcseZdZfddZZS)ztest_mixin_init..Mixincsd|d<t|j||dSNTr(super__init__selfargskwargs)Mixin __class__rrr9_sz'test_mixin_init..Mixin.__init__r-r.r/r9 __classcell__rr>r?rr>^sr>r3)objectr )r3r"rrBrtest_mixin_init]s rEcsGfdddt}dS)NcseZdZfddZZS)z"test_sub_init..MyValidatorcsd|d<t|j||dSr6r7r:)r3r?rrr9jsz+test_sub_init..MyValidator.__init__r@rr3rCrr3isr3)rr!rrFr test_sub_inithsrGN) r+rZ pkg_resourcesrrZpytestrrrrZcerberus.testsrr Zcerberus.utilsr Zcerberus.validatorr Zcerberus.platformr Zimpr importlibrrr#r$Z parametrizer*r4r5rErGrrrrs0