SYMBOL INDEX (614 symbols across 48 files) FILE: docs/conf.py function get_copyright_from_license (line 18) | def get_copyright_from_license() -> str: FILE: src/phantom/_base.py class InstanceCheckable (line 31) | class InstanceCheckable(Protocol): method __instancecheck__ (line 34) | def __instancecheck__(cls, instance: object) -> bool: ... class SupportsParse (line 37) | class SupportsParse(Protocol): method parse (line 40) | def parse(cls, instance: object) -> Self: ... class PhantomMeta (line 46) | class PhantomMeta(abc.ABCMeta): method __instancecheck__ (line 52) | def __instancecheck__(self, instance: object) -> bool: method __call__ (line 57) | def __call__(cls: type[V], instance: object) -> V: class PhantomBase (line 68) | class PhantomBase(SchemaField, metaclass=PhantomMeta): method parse (line 70) | def parse(cls: type[Derived], instance: object) -> Derived: method __instancecheck__ (line 84) | def __instancecheck__(cls, instance: object) -> bool: ... method __get_validators__ (line 87) | def __get_validators__(cls: type[Derived]) -> Iterator[Callable[[objec... class AbstractInstanceCheck (line 92) | class AbstractInstanceCheck(TypeError): ... class MutableType (line 95) | class MutableType(TypeError): ... class Phantom (line 98) | class Phantom(PhantomBase, Generic[T]): method __init_subclass__ (line 128) | def __init_subclass__( method _interpret_implicit_bound (line 146) | def _interpret_implicit_bound(cls) -> BoundType: method _resolve_bound (line 163) | def _resolve_bound(cls, class_arg: Any) -> None: method __instancecheck__ (line 192) | def __instancecheck__(cls, instance: object) -> bool: method __register_strategy__ (line 205) | def __register_strategy__(cls) -> _hypothesis.HypothesisStrategy | None: FILE: src/phantom/_utils/misc.py class UnresolvedClassAttribute (line 20) | class UnresolvedClassAttribute(NotImplementedError): ... function resolve_class_attr (line 23) | def resolve_class_attr( function _is_union (line 42) | def _is_union(type_: BoundType) -> bool: function _is_intersection (line 46) | def _is_intersection(type_: BoundType) -> bool: function is_subtype (line 50) | def is_subtype(a: BoundType, b: BoundType) -> bool: # noqa: C901 function fully_qualified_name (line 109) | def fully_qualified_name(cls: type) -> str: function is_not_known_mutable_type (line 122) | def is_not_known_mutable_type(type_: BoundType) -> TypeGuard[NotKnownMut... function is_not_known_mutable_instance (line 131) | def is_not_known_mutable_instance(value: object) -> bool: function is_union (line 142) | def is_union(value: object) -> TypeGuard[type]: FILE: src/phantom/_utils/types.py class _SupportsLt (line 12) | class _SupportsLt(Protocol[T_contra]): method __lt__ (line 13) | def __lt__(self, other: T_contra) -> bool: ... class SupportsLt (line 16) | class SupportsLt( class _SupportsLe (line 24) | class _SupportsLe(Protocol[T_contra]): method __le__ (line 25) | def __le__(self, other: T_contra) -> bool: ... class SupportsLe (line 28) | class SupportsLe( class _SupportsGt (line 36) | class _SupportsGt(Protocol[T_contra]): method __gt__ (line 37) | def __gt__(self, other: T_contra) -> bool: ... class SupportsGt (line 40) | class SupportsGt( class _SupportsGe (line 48) | class _SupportsGe(Protocol[T_contra]): method __ge__ (line 49) | def __ge__(self, other: T_contra) -> bool: ... class SupportsGe (line 52) | class SupportsGe( class _SupportsEq (line 60) | class _SupportsEq(Protocol): method __eq__ (line 61) | def __eq__(self, other: object) -> bool: ... method __hash__ (line 62) | def __hash__(self) -> int: ... class SupportsEq (line 65) | class SupportsEq( class _Comparable (line 73) | class _Comparable( class Comparable (line 83) | class Comparable( class _SupportsFloat (line 91) | class _SupportsFloat(Protocol): method __float__ (line 92) | def __float__(self) -> float: ... class SupportsFloat (line 95) | class SupportsFloat(_SupportsFloat, Protocol, metaclass=CachingProtocolM... class _FloatComparable (line 99) | class _FloatComparable( class FloatComparable (line 106) | class FloatComparable( class _SupportsLeGe (line 114) | class _SupportsLeGe(SupportsLe[T_contra], SupportsGe[T_contra], Protocol... class SupportsLeGe (line 117) | class SupportsLeGe( class _SupportsLeGt (line 125) | class _SupportsLeGt(SupportsLe[T_contra], SupportsGt[T_contra], Protocol... class SupportsLeGt (line 128) | class SupportsLeGt( class _SupportsLtGe (line 136) | class _SupportsLtGe(SupportsLt[T_contra], SupportsGe[T_contra], Protocol... class SupportsLtGe (line 139) | class SupportsLtGe( class _SupportsLtGt (line 146) | class _SupportsLtGt(SupportsLt[T_contra], SupportsGt[T_contra], Protocol... class SupportsLtGt (line 149) | class SupportsLtGt( class _SupportsMod (line 157) | class _SupportsMod(Protocol[T_contra, U_co]): method __mod__ (line 158) | def __mod__(self, other: T_contra) -> U_co: ... class SupportsMod (line 161) | class SupportsMod( FILE: src/phantom/boolean.py class Truthy (line 17) | class Truthy(Phantom[object], predicate=boolean.truthy, bound=object): method __register_strategy__ (line 26) | def __register_strategy__(cls) -> SearchStrategy: class Falsy (line 41) | class Falsy(Phantom[object], predicate=boolean.falsy, bound=object): method __register_strategy__ (line 50) | def __register_strategy__(cls) -> SearchStrategy: FILE: src/phantom/bounds.py function display_bound (line 25) | def display_bound(bound: Any) -> str: function get_bound_parser (line 37) | def get_bound_parser(bound: type[T] | Any) -> Parser[T]: FILE: src/phantom/datetime.py function parse_datetime_str (line 31) | def parse_datetime_str( class DateutilParseError (line 40) | class DateutilParseError(Exception): # type: ignore[no-redef] function parse_datetime (line 47) | def parse_datetime(value: object) -> datetime.datetime: class TZAware (line 57) | class TZAware(datetime.datetime, Phantom, predicate=is_tz_aware): method parse (line 72) | def parse(cls, instance: object) -> TZAware: method __schema__ (line 76) | def __schema__(cls) -> Schema: method __register_strategy__ (line 83) | def __register_strategy__(cls) -> _hypothesis.SearchStrategy: class TZNaive (line 90) | class TZNaive(datetime.datetime, Phantom, predicate=is_tz_naive): method parse (line 99) | def parse(cls, instance: object) -> TZNaive: method __schema__ (line 103) | def __schema__(cls) -> Schema: method __register_strategy__ (line 111) | def __register_strategy__(cls) -> _hypothesis.SearchStrategy: FILE: src/phantom/errors.py class BoundError (line 1) | class BoundError(TypeError): ... class MissingDependency (line 4) | class MissingDependency(Exception): ... FILE: src/phantom/ext/phonenumbers.py class InvalidPhoneNumber (line 34) | class InvalidPhoneNumber(phonenumbers.NumberParseException, TypeError): method __init__ (line 37) | def __init__(self, error_type: int = INVALID, msg: str = "Invalid numb... function _deconstruct_phone_number (line 41) | def _deconstruct_phone_number( function normalize_phone_number (line 53) | def normalize_phone_number( function is_formatted_phone_number (line 72) | def is_formatted_phone_number(number: str) -> TypeGuard[FormattedPhoneNu... class PhoneNumber (line 79) | class PhoneNumber(str, Phantom, predicate=is_phone_number): method __schema__ (line 81) | def __schema__(cls) -> Schema: class FormattedPhoneNumber (line 90) | class FormattedPhoneNumber(PhoneNumber, predicate=is_formatted_phone_num... method parse (line 92) | def parse(cls, instance: object) -> FormattedPhoneNumber: method __schema__ (line 101) | def __schema__(cls) -> Schema: FILE: src/phantom/fn.py function _name (line 10) | def _name(fn: Callable) -> str: function compose2 (line 24) | def compose2(a: Callable[[AA], AR], b: Callable[[BA], AA]) -> Callable[[... function excepts (line 46) | def excepts( FILE: src/phantom/interval.py class IntervalCheck (line 45) | class IntervalCheck(Protocol): method __call__ (line 46) | def __call__(self, a: N, b: N) -> Predicate[N]: ... class _NonScalarBounds (line 53) | class _NonScalarBounds(Exception): ... function _get_scalar_int_bounds (line 56) | def _get_scalar_int_bounds( function _get_scalar_float_bounds (line 89) | def _get_scalar_float_bounds( function _resolve_bound (line 110) | def _resolve_bound( class Interval (line 128) | class Interval(Phantom[Comparable], bound=Comparable, abstract=True): method __init_subclass__ (line 143) | def __init_subclass__( method parse (line 161) | def parse(cls: type[Derived], instance: object) -> Derived: function _format_limit (line 167) | def _format_limit(value: SupportsEq) -> str: class Exclusive (line 175) | class Exclusive(Interval, check=interval.exclusive, abstract=True): method __schema__ (line 179) | def __schema__(cls) -> Schema: method __register_strategy__ (line 191) | def __register_strategy__(cls) -> _hypothesis.SearchStrategy | None: class Inclusive (line 207) | class Inclusive(Interval, check=interval.inclusive, abstract=True): method __schema__ (line 211) | def __schema__(cls) -> Schema: method __register_strategy__ (line 223) | def __register_strategy__(cls) -> _hypothesis.SearchStrategy | None: class ExclusiveInclusive (line 235) | class ExclusiveInclusive(Interval, check=interval.exclusive_inclusive, a... method __schema__ (line 239) | def __schema__(cls) -> Schema: method __register_strategy__ (line 251) | def __register_strategy__(cls) -> _hypothesis.SearchStrategy | None: class InclusiveExclusive (line 263) | class InclusiveExclusive(Interval, check=interval.inclusive_exclusive, a... method __schema__ (line 267) | def __schema__(cls) -> Schema: method __register_strategy__ (line 279) | def __register_strategy__(cls) -> _hypothesis.SearchStrategy | None: class Natural (line 291) | class Natural(int, InclusiveExclusive, low=0): method __schema__ (line 295) | def __schema__(cls) -> Schema: class NegativeInt (line 302) | class NegativeInt(int, ExclusiveInclusive, high=0): method __schema__ (line 306) | def __schema__(cls) -> Schema: class Portion (line 313) | class Portion(float, Inclusive, low=0, high=1): method __schema__ (line 317) | def __schema__(cls) -> Schema: FILE: src/phantom/iso3166.py class InvalidCountryCode (line 294) | class InvalidCountryCode(TypeError): ... function normalize_alpha2_country_code (line 297) | def normalize_alpha2_country_code(country_code: str) -> ParsedAlpha2: class ParsedAlpha2 (line 309) | class ParsedAlpha2(str, Phantom, predicate=is_alpha2_country_code): method parse (line 311) | def parse(cls, instance: object) -> ParsedAlpha2: method __schema__ (line 320) | def __schema__(cls) -> Schema: method __register_strategy__ (line 330) | def __register_strategy__(cls) -> _hypothesis.SearchStrategy | None: FILE: src/phantom/negated.py class SequenceNotStr (line 26) | class SequenceNotStr( method __register_strategy__ (line 36) | def __register_strategy__(cls) -> _hypothesis.HypothesisStrategy: FILE: src/phantom/predicates/_utils.py function _explode_partial (line 6) | def _explode_partial(obj: partial) -> str: function _name_or_repr (line 15) | def _name_or_repr(obj: object) -> str: function bind_name (line 27) | def bind_name(wrapped: Callable, *values: object) -> Callable[[B], B]: FILE: src/phantom/predicates/boolean.py function true (line 11) | def true(_value: object) -> Literal[True]: function false (line 16) | def false(_value: object) -> Literal[False]: function negate (line 21) | def negate(predicate: Predicate[T_contra]) -> Predicate[T_contra]: function truthy (line 31) | def truthy(value: object) -> bool: function falsy (line 36) | def falsy(value: object) -> bool: function both (line 41) | def both(p: Predicate[T_contra], q: Predicate[T_contra]) -> Predicate[T_... function either (line 53) | def either(p: Predicate[T_contra], q: Predicate[T_contra]) -> Predicate[... function xor (line 66) | def xor(p: Predicate[T_contra], q: Predicate[T_contra]) -> Predicate[T_c... function all_of (line 79) | def all_of(predicates: Iterable[Predicate[T_contra]]) -> Predicate[T_con... function any_of (line 90) | def any_of(predicates: Iterable[Predicate[T_contra]]) -> Predicate[T_con... function one_of (line 104) | def one_of(predicates: Iterable[Predicate[T_contra]]) -> Predicate[T_con... FILE: src/phantom/predicates/collection.py function contains (line 10) | def contains(value: object) -> Predicate[Container]: function contained (line 20) | def contained(container: Container) -> Predicate[object]: function count (line 33) | def count(predicate: Predicate[int]) -> Predicate[Sized]: function exists (line 49) | def exists(predicate: Predicate[_O]) -> Predicate[Iterable]: function every (line 62) | def every(predicate: Predicate[_O]) -> Predicate[Iterable]: FILE: src/phantom/predicates/datetime.py function is_tz_aware (line 6) | def is_tz_aware(dt: datetime.datetime) -> bool: function is_tz_naive (line 12) | def is_tz_naive(dt: datetime.datetime) -> bool: FILE: src/phantom/predicates/generic.py function equal (line 9) | def equal(a: object) -> Predicate[object]: function identical (line 19) | def identical(a: object) -> Predicate[object]: function of_type (line 29) | def of_type(t: type | tuple[type, ...]) -> Predicate[object]: function of_complex_type (line 41) | def of_complex_type(t: type) -> Predicate[object]: FILE: src/phantom/predicates/interval.py function exclusive (line 20) | def exclusive(low: T, high: T) -> Predicate[SupportsLtGt[T]]: function exclusive_inclusive (line 32) | def exclusive_inclusive(low: T, high: T) -> Predicate[SupportsLeGt[T]]: function inclusive_exclusive (line 44) | def inclusive_exclusive(low: T, high: T) -> Predicate[SupportsLtGe[T]]: function inclusive (line 56) | def inclusive(low: T, high: T) -> Predicate[SupportsLeGe[T]]: FILE: src/phantom/predicates/numeric.py function less (line 18) | def less(n: T) -> Predicate[SupportsLt[T]]: function le (line 30) | def le(n: T) -> Predicate[SupportsLe[T]]: function greater (line 43) | def greater(n: T) -> Predicate[SupportsGt[T]]: function ge (line 56) | def ge(n: T) -> Predicate[SupportsGe[T]]: function positive (line 69) | def positive(n: SupportsGt[int]) -> bool: function non_positive (line 74) | def non_positive(n: SupportsLe[int]) -> bool: function negative (line 79) | def negative(n: SupportsLt[int]) -> bool: function non_negative (line 84) | def non_negative(n: SupportsGe[int]) -> bool: function modulo (line 89) | def modulo(n: T, p: Predicate[U]) -> Predicate[SupportsMod[T, U]]: function even (line 102) | def even(n: int) -> bool: function odd (line 107) | def odd(n: int) -> bool: FILE: src/phantom/predicates/re.py function is_match (line 7) | def is_match(pattern: Pattern[str]) -> Predicate[str]: function is_full_match (line 20) | def is_full_match(pattern: Pattern[str]) -> Predicate[str]: FILE: src/phantom/re.py function _compile (line 28) | def _compile(pattern: Pattern[str] | str) -> Pattern[str]: class Match (line 34) | class Match(str, Phantom, abstract=True): method __init_subclass__ (line 43) | def __init_subclass__(cls, pattern: Pattern[str] | str, **kwargs: Any)... method __schema__ (line 48) | def __schema__(cls) -> Schema: class FullMatch (line 58) | class FullMatch(str, Phantom, abstract=True): method __init_subclass__ (line 67) | def __init_subclass__(cls, pattern: Pattern[str] | str, **kwargs: Any)... method __schema__ (line 72) | def __schema__(cls) -> Schema: method __register_strategy__ (line 80) | def __register_strategy__(cls) -> _hypothesis.SearchStrategy | None: FILE: src/phantom/schema.py class Schema (line 8) | class Schema(TypedDict, total=False): class SchemaField (line 24) | class SchemaField: method __modify_schema__ (line 27) | def __modify_schema__(cls, field_schema: dict) -> None: method __schema__ (line 39) | def __schema__(cls) -> Schema: FILE: src/phantom/sized.py class SizedIterable (line 66) | class SizedIterable(Sized, Iterable[T], Protocol[T]): class SizedIterablePhantomMeta (line 70) | class SizedIterablePhantomMeta(PhantomMeta, _ProtocolMeta): ... class PhantomSized (line 73) | class PhantomSized( method __init_subclass__ (line 88) | def __init_subclass__( method __schema__ (line 102) | def __schema__(cls) -> Schema: class UnresolvedBounds (line 109) | class UnresolvedBounds(Exception): ... class LSPViolation (line 112) | class LSPViolation(Exception): ... class PhantomBound (line 115) | class PhantomBound( method __init_subclass__ (line 128) | def __init_subclass__( method __schema__ (line 187) | def __schema__(cls) -> Schema: method __register_strategy__ (line 205) | def __register_strategy__(cls) -> _hypothesis.HypothesisStrategy: class NonEmpty (line 237) | class NonEmpty(PhantomBound[T], Generic[T], min=1): method __schema__ (line 241) | def __schema__(cls) -> Schema: class NonEmptyStr (line 248) | class NonEmptyStr(str, NonEmpty[str]): method __schema__ (line 252) | def __schema__(cls) -> Schema: class Empty (line 259) | class Empty(PhantomBound[T], Generic[T], max=0): method __schema__ (line 263) | def __schema__(cls) -> Schema: method __register_strategy__ (line 270) | def __register_strategy__(cls) -> _hypothesis.SearchStrategy: FILE: tests/ext/test_hypothesis.py class TensFloat (line 43) | class TensFloat(float, InclusiveExclusive, low=10, high=20): ... class TensInt (line 46) | class TensInt(int, InclusiveExclusive, low=10, high=20): ... class Url (line 49) | class Url( class Few (line 58) | class Few(PhantomBound[T], Generic[T], min=5, max=15): ... class Inf (line 62) | class Inf: method __eq__ (line 63) | def __eq__(self, other): method __lt__ (line 66) | def __lt__(self, other): class InmappableInc (line 71) | class InmappableInc(int, Inclusive, low=Inf(), high=100): ... class InmappableExc (line 74) | class InmappableExc(float, Exclusive, low=Inf(), high=100): ... class InmappableIncExc (line 77) | class InmappableIncExc(int, InclusiveExclusive, low=Inf(), high=100): ... class InmappableExcInc (line 80) | class InmappableExcInc(float, ExclusiveInclusive, low=Inf(), high=100): ... class Model (line 84) | class Model: function test_can_generate_hypothesis_values (line 121) | def test_can_generate_hypothesis_values(model: Model) -> None: FILE: tests/ext/test_phonenumbers.py class TestPhoneNumber (line 16) | class TestPhoneNumber: method test_unparsable_number_is_not_instance (line 17) | def test_unparsable_number_is_not_instance(self): method test_invalid_number_is_not_instance (line 20) | def test_invalid_number_is_not_instance(self): method test_unformatted_number_is_instance (line 23) | def test_unformatted_number_is_instance(self): class TestFormattedPhoneNumber (line 27) | class TestFormattedPhoneNumber: method test_unparsable_number_is_not_instance (line 28) | def test_unparsable_number_is_not_instance(self): method test_invalid_number_is_not_instance (line 31) | def test_invalid_number_is_not_instance(self): method test_unformatted_number_is_not_instance (line 34) | def test_unformatted_number_is_not_instance(self): method test_formatted_number_is_instance (line 37) | def test_formatted_number_is_instance(self): method test_normalizes_unformatted_number (line 40) | def test_normalizes_unformatted_number(self): method test_parse_raises_for_invalid_phone_number (line 45) | def test_parse_raises_for_invalid_phone_number(self): method test_raises_type_error_for_out_of_bound_type (line 49) | def test_raises_type_error_for_out_of_bound_type(self): class TestDeconstructPhoneNumber (line 58) | class TestDeconstructPhoneNumber: method test_can_parse_international_phone_number_without_country_code (line 59) | def test_can_parse_international_phone_number_without_country_code(self): method test_can_parse_international_phone_number_with_country_code (line 64) | def test_can_parse_international_phone_number_with_country_code(self): method test_can_parse_national_phone_number_with_country_code (line 69) | def test_can_parse_national_phone_number_with_country_code(self): method test_raises_invalid_phone_number_for_insufficient_country_data (line 74) | def test_raises_invalid_phone_number_for_insufficient_country_data(self): method test_raises_invalid_phone_number_for_parse_exception (line 79) | def test_raises_invalid_phone_number_for_parse_exception(self): method test_raises_invalid_phone_number_for_invalid_phone_number (line 84) | def test_raises_invalid_phone_number_for_invalid_phone_number(self): class TestNormalizePhoneNumber (line 90) | class TestNormalizePhoneNumber: method test_can_normalize_national_number_with_country_code (line 91) | def test_can_normalize_national_number_with_country_code(self): method test_can_normalize_international_number_without_country_code (line 94) | def test_can_normalize_international_number_without_country_code(self): class TestIsPhoneNumber (line 98) | class TestIsPhoneNumber: method test_returns_true_for_valid_number (line 99) | def test_returns_true_for_valid_number(self): method test_returns_false_for_invalid_number (line 102) | def test_returns_false_for_invalid_number(self): class TestIsFormattedPhoneNumber (line 106) | class TestIsFormattedPhoneNumber: method test_returns_true_for_formatted_number (line 107) | def test_returns_true_for_formatted_number(self) -> None: method test_returns_false_for_unformatted_number (line 112) | def test_returns_false_for_unformatted_number(self): FILE: tests/predicates/test_boolean.py class TestTrue (line 11) | class TestTrue: method test_returns_true_for_any_given_value (line 13) | def test_returns_true_for_any_given_value(self, value: object) -> None: class TestFalse (line 17) | class TestFalse: method test_returns_false_for_any_given_value (line 19) | def test_returns_false_for_any_given_value(self, value: object) -> None: class TestNegate (line 23) | class TestNegate: method test_can_negate_true (line 24) | def test_can_negate_true(self): method test_can_negate_false (line 27) | def test_can_negate_false(self): method test_repr_contains_bound_parameter (line 30) | def test_repr_contains_bound_parameter(self): class TestTruthy (line 38) | class TestTruthy: method test_returns_true_for_truthy_value (line 40) | def test_returns_true_for_truthy_value(self, value: object) -> None: method test_returns_false_for_falsy_value (line 44) | def test_returns_false_for_falsy_value(self, value: object) -> None: class TestFalsy (line 48) | class TestFalsy: method test_returns_true_for_falsy_value (line 50) | def test_returns_true_for_falsy_value(self, value: object) -> None: method test_returns_false_for_truthy_value (line 54) | def test_returns_false_for_truthy_value(self, value: object) -> None: class TestBoth (line 58) | class TestBoth: method test_returns_true_for_two_succeeding_predicates (line 59) | def test_returns_true_for_two_succeeding_predicates(self) -> None: method test_returns_false_for_falsy_predicate (line 70) | def test_returns_false_for_falsy_predicate( method test_repr_contains_bound_parameter (line 75) | def test_repr_contains_bound_parameter(self): class TestEither (line 81) | class TestEither: method test_returns_true_for_truthy_predicate (line 90) | def test_returns_true_for_truthy_predicate( method test_returns_false_for_two_falsy_predicates (line 95) | def test_returns_false_for_two_falsy_predicates(self) -> None: method test_repr_contains_bound_parameter (line 98) | def test_repr_contains_bound_parameter(self): class TestXor (line 104) | class TestXor: method test_returns_true_for_two_different_bools (line 112) | def test_returns_true_for_two_different_bools( method test_returns_false_for_two_equal_bools (line 124) | def test_returns_false_for_two_equal_bools( method test_repr_contains_bound_parameter (line 129) | def test_repr_contains_bound_parameter(self): class TestAllOf (line 161) | class TestAllOf: method test_returns_true_for_empty_set_of_predicates (line 162) | def test_returns_true_for_empty_set_of_predicates(self) -> None: method test_returns_true_for_succeeding_predicates (line 167) | def test_returns_true_for_succeeding_predicates( method test_returns_false_for_some_failing_predicate (line 173) | def test_returns_false_for_some_failing_predicate( method test_returns_false_for_only_failing_predicate (line 179) | def test_returns_false_for_only_failing_predicate( method test_materializes_generated_predicates (line 185) | def test_materializes_generated_predicates( method test_repr_contains_bound_parameter (line 192) | def test_repr_contains_bound_parameter(self): class TestAnyOf (line 198) | class TestAnyOf: method test_returns_false_for_empty_set_of_predicates (line 199) | def test_returns_false_for_empty_set_of_predicates(self) -> None: method test_returns_true_for_succeeding_predicates (line 204) | def test_returns_true_for_succeeding_predicates( method test_returns_true_for_some_failing_predicate (line 210) | def test_returns_true_for_some_failing_predicate( method test_returns_false_for_only_failing_predicate (line 216) | def test_returns_false_for_only_failing_predicate( method test_materializes_generated_predicates (line 222) | def test_materializes_generated_predicates( method test_repr_contains_bound_parameter (line 229) | def test_repr_contains_bound_parameter(self): class TestOneOf (line 235) | class TestOneOf: method test_returns_false_for_empty_set_of_predicates (line 236) | def test_returns_false_for_empty_set_of_predicates(self) -> None: method test_returns_false_for_more_than_one_succeeding_predicates (line 250) | def test_returns_false_for_more_than_one_succeeding_predicates( method test_returns_true_for_one_succeeding_predicate (line 266) | def test_returns_true_for_one_succeeding_predicate( method test_returns_false_for_only_failing_predicate (line 272) | def test_returns_false_for_only_failing_predicate( method test_materializes_generated_predicates (line 285) | def test_materializes_generated_predicates( method test_repr_contains_bound_parameter (line 292) | def test_repr_contains_bound_parameter(self): FILE: tests/predicates/test_collection.py class TestContains (line 15) | class TestContains: method test_returns_true_for_container_with_item (line 23) | def test_returns_true_for_container_with_item( method test_returns_false_for_container_without_item (line 35) | def test_returns_false_for_container_without_item( method test_repr_contains_bound_parameter (line 40) | def test_repr_contains_bound_parameter(self): class TestContained (line 46) | class TestContained: method test_returns_true_for_item_in_container (line 54) | def test_returns_true_for_item_in_container( method test_returns_false_for_item_not_in_container (line 66) | def test_returns_false_for_item_not_in_container( method test_repr_contains_bound_parameter (line 71) | def test_repr_contains_bound_parameter(self): class TestCount (line 77) | class TestCount: method test_returns_true_for_size_matching_predicate (line 86) | def test_returns_true_for_size_matching_predicate( method test_returns_false_for_size_failing_predicate (line 99) | def test_returns_false_for_size_failing_predicate( method test_repr_contains_bound_parameter (line 104) | def test_repr_contains_bound_parameter(self): class TestExists (line 108) | class TestExists: method test_returns_true_for_iterable_containing_satisfying_item (line 117) | def test_returns_true_for_iterable_containing_satisfying_item( method test_returns_false_for_iterable_not_containing_satisfying_item (line 130) | def test_returns_false_for_iterable_not_containing_satisfying_item( method test_repr_contains_bound_parameter (line 135) | def test_repr_contains_bound_parameter(self): class TestEvery (line 141) | class TestEvery: method test_returns_true_for_complete_iterable (line 151) | def test_returns_true_for_complete_iterable( method test_returns_false_for_incomplete_iterable (line 164) | def test_returns_false_for_incomplete_iterable( method test_repr_contains_bound_parameter (line 169) | def test_repr_contains_bound_parameter(self): FILE: tests/predicates/test_datetime.py class TestIsTZAware (line 16) | class TestIsTZAware: method test_returns_true_for_aware_dt (line 18) | def test_returns_true_for_aware_dt(self, dt: datetime.datetime) -> None: method test_returns_false_for_naive_dt (line 22) | def test_returns_false_for_naive_dt(self, dt: datetime.datetime) -> None: class TestIsTZNaive (line 26) | class TestIsTZNaive: method test_returns_true_for_naive_dt (line 28) | def test_returns_true_for_naive_dt(self, dt: datetime.datetime) -> None: method test_returns_false_for_aware_dt (line 32) | def test_returns_false_for_aware_dt(self, dt: datetime.datetime) -> None: FILE: tests/predicates/test_generic.py class TestEqual (line 8) | class TestEqual: method test_returns_true_for_equal_values (line 10) | def test_returns_true_for_equal_values(self, a: object, b: object) -> ... method test_returns_false_for_non_equal_values (line 15) | def test_returns_false_for_non_equal_values(self, a: object, b: object... method test_repr_contains_bound_parameter (line 19) | def test_repr_contains_bound_parameter(self): class TestIdentical (line 23) | class TestIdentical: method test_returns_true_for_identical_values (line 27) | def test_returns_true_for_identical_values(self, a: object, b: object)... method test_returns_false_for_different_values (line 32) | def test_returns_false_for_different_values(self, a: object, b: object... method test_repr_contains_bound_parameter (line 36) | def test_repr_contains_bound_parameter(self): class TestOfType (line 40) | class TestOfType: method test_returns_true_for_instance_of_types (line 42) | def test_returns_true_for_instance_of_types( method test_returns_false_for_instance_of_other_type (line 50) | def test_returns_false_for_instance_of_other_type( method test_repr_contains_bound_parameter (line 57) | def test_repr_contains_bound_parameter(self): FILE: tests/predicates/test_interval.py class TestExclusive (line 40) | class TestExclusive: method test_returns_true_for_middle_value (line 41) | def test_returns_true_for_middle_value(self) -> None: method test_returns_true_for_inside_value (line 45) | def test_returns_true_for_inside_value( method test_returns_false_for_edge_value (line 51) | def test_returns_false_for_edge_value( method test_returns_false_for_outside_value (line 57) | def test_returns_false_for_outside_value( method test_repr_contains_bound_parameter (line 62) | def test_repr_contains_bound_parameter(self): class TestInclusive (line 66) | class TestInclusive: method test_returns_true_for_middle_value (line 67) | def test_returns_true_for_middle_value(self) -> None: method test_returns_true_for_inside_value (line 71) | def test_returns_true_for_inside_value( method test_returns_true_for_edge_value (line 77) | def test_returns_true_for_edge_value( method test_returns_false_for_outside_value (line 83) | def test_returns_false_for_outside_value( method test_repr_contains_bound_parameter (line 88) | def test_repr_contains_bound_parameter(self): class TestInclusiveExclusive (line 92) | class TestInclusiveExclusive: method test_returns_true_for_middle_value (line 93) | def test_returns_true_for_middle_value(self) -> None: method test_lower_bound (line 96) | def test_lower_bound(self) -> None: method test_upper_bound (line 101) | def test_upper_bound(self) -> None: method test_repr_contains_bound_parameter (line 106) | def test_repr_contains_bound_parameter(self): class TestExclusiveInclusive (line 112) | class TestExclusiveInclusive: method test_returns_true_for_middle_value (line 113) | def test_returns_true_for_middle_value(self) -> None: method test_lower_bound (line 116) | def test_lower_bound(self) -> None: method test_upper_bound (line 121) | def test_upper_bound(self) -> None: method test_repr_contains_bound_parameter (line 126) | def test_repr_contains_bound_parameter(self): FILE: tests/predicates/test_numeric.py class TestLess (line 8) | class TestLess: method test_returns_true_for_values_below_limit (line 9) | def test_returns_true_for_values_below_limit(self) -> None: method test_returns_false_for_values_above_limit (line 15) | def test_returns_false_for_values_above_limit(self) -> None: method test_repr_contains_bound_parameter (line 21) | def test_repr_contains_bound_parameter(self): class TestLE (line 25) | class TestLE: method test_returns_true_for_values_below_limit (line 26) | def test_returns_true_for_values_below_limit(self) -> None: method test_returns_false_for_values_above_limit (line 33) | def test_returns_false_for_values_above_limit(self) -> None: method test_repr_contains_bound_parameter (line 39) | def test_repr_contains_bound_parameter(self): class TestGreater (line 43) | class TestGreater: method test_returns_true_for_values_above_limit (line 44) | def test_returns_true_for_values_above_limit(self) -> None: method test_returns_false_for_values_below_limit (line 50) | def test_returns_false_for_values_below_limit(self) -> None: method test_repr_contains_bound_parameter (line 56) | def test_repr_contains_bound_parameter(self): class TestGE (line 60) | class TestGE: method test_returns_true_for_values_above_limit (line 61) | def test_returns_true_for_values_above_limit(self) -> None: method test_returns_false_for_values_below_limit (line 68) | def test_returns_false_for_values_below_limit(self) -> None: method test_repr_contains_bound_parameter (line 74) | def test_repr_contains_bound_parameter(self): class TestPositive (line 78) | class TestPositive: method test_limits (line 79) | def test_limits(self) -> None: class TestNonPositive (line 86) | class TestNonPositive: method test_limits (line 87) | def test_limits(self) -> None: class TestNegative (line 94) | class TestNegative: method test_limits (line 95) | def test_limits(self) -> None: class TestNonNegative (line 102) | class TestNonNegative: method test_limits (line 103) | def test_limits(self) -> None: class TestModulo (line 110) | class TestModulo: method test_repr_contains_bound_parameter (line 111) | def test_repr_contains_bound_parameter(self): class TestEven (line 121) | class TestEven: method test_returns_true_for_even_value (line 123) | def test_returns_true_for_even_value(self, value: int) -> None: method test_returns_false_for_odd_value (line 127) | def test_returns_false_for_odd_value(self, value: int) -> None: class TestOdd (line 131) | class TestOdd: method test_returns_true_for_odd_value (line 133) | def test_returns_true_for_odd_value(self, value: int) -> None: method test_returns_false_for_even_value (line 137) | def test_returns_false_for_even_value(self, value: int) -> None: FILE: tests/predicates/test_re.py class TestIsMatch (line 13) | class TestIsMatch: method test_returns_true_for_matching_string (line 14) | def test_returns_true_for_matching_string(self) -> None: method test_returns_false_for_non_matching_string (line 18) | def test_returns_false_for_non_matching_string(self) -> None: method test_repr_contains_bound_parameter (line 22) | def test_repr_contains_bound_parameter(self): class TestIsFullMatch (line 26) | class TestIsFullMatch: method test_returns_true_for_matching_string (line 27) | def test_returns_true_for_matching_string(self) -> None: method test_returns_false_for_non_matching_string (line 30) | def test_returns_false_for_non_matching_string(self) -> None: method test_repr_contains_bound_parameter (line 35) | def test_repr_contains_bound_parameter(self): FILE: tests/predicates/test_utils.py function foo (line 8) | def foo(a: int, b: int, c: int) -> bool: class TestFunctionRepr (line 12) | class TestFunctionRepr: method test_explodes_partial_arguments (line 13) | def test_explodes_partial_arguments(self): FILE: tests/predicates/utils.py function assert_predicate_name_equals (line 4) | def assert_predicate_name_equals(predicate: Predicate, expected_name: st... FILE: tests/pydantic/test_datetime.py class HasTZAware (line 15) | class HasTZAware(pydantic.BaseModel): class TestPydanticTZAware (line 19) | class TestPydanticTZAware: method test_can_parse_tz_aware (line 21) | def test_can_parse_tz_aware(self, value: str, expected: datetime.datet... method test_tz_aware_rejects_naive_datetime (line 26) | def test_tz_aware_rejects_naive_datetime(self): class HasTZNaive (line 31) | class HasTZNaive(pydantic.BaseModel): class TestPydanticTZNaive (line 35) | class TestPydanticTZNaive: method test_can_parse_tz_naive (line 37) | def test_can_parse_tz_naive(self, value: str, expected: datetime.datet... method test_tz_naive_rejects_aware_datetime (line 42) | def test_tz_naive_rejects_aware_datetime(self): FILE: tests/pydantic/test_schemas.py class ExclusiveType (line 28) | class ExclusiveType(int, Exclusive, low=0, high=100): ... class InclusiveType (line 31) | class InclusiveType(float, Inclusive, low=-1, high=1): ... class ExclusiveInclusiveType (line 34) | class ExclusiveInclusiveType(float, ExclusiveInclusive, low=0, high=100)... class InclusiveExclusiveType (line 37) | class InclusiveExclusiveType(float, InclusiveExclusive, low=-100, high=0... class MatchType (line 40) | class MatchType(Match, pattern=r"^[A-Z]{2}[0-9]{2}$"): ... class FullMatchType (line 43) | class FullMatchType(FullMatch, pattern=r"^[A-Z]{2}[0-9]{2}$"): ... class OddSize (line 46) | class OddSize(PhantomSized[int], len=odd): ... class DataModel (line 49) | class DataModel(pydantic.BaseModel): class TestShippedTypesImplementsSchema (line 71) | class TestShippedTypesImplementsSchema: method test_interval_open_implements_schema (line 72) | def test_interval_open_implements_schema(self): method test_interval_closed_implements_schema (line 81) | def test_interval_closed_implements_schema(self): method test_interval_exclusive_inclusive_implements_schema (line 90) | def test_interval_exclusive_inclusive_implements_schema(self): method test_interval_inclusive_exclusive_implements_schema (line 99) | def test_interval_inclusive_exclusive_implements_schema(self): method test_interval_negative_int_implements_schema (line 108) | def test_interval_negative_int_implements_schema(self): method test_interval_natural_implements_schema (line 116) | def test_interval_natural_implements_schema(self): method test_interval_portion_implements_schema (line 124) | def test_interval_portion_implements_schema(self): method test_tz_aware_implements_schema (line 133) | def test_tz_aware_implements_schema(self): method test_tz_naive_implements_schema (line 141) | def test_tz_naive_implements_schema(self): method test_re_match_implements_schema (line 149) | def test_re_match_implements_schema(self): method test_re_full_match_implements_schema (line 159) | def test_re_full_match_implements_schema(self): method test_sized_non_empty_implements_schema (line 167) | def test_sized_non_empty_implements_schema(self): method test_sized_empty_implements_schema (line 176) | def test_sized_empty_implements_schema(self): method test_sized_non_empty_str_implements_schema (line 184) | def test_sized_non_empty_str_implements_schema(self): method test_phantom_sized_implements_schema (line 192) | def test_phantom_sized_implements_schema(self): method test_country_code_implements_schema (line 198) | def test_country_code_implements_schema(self): method test_phone_number_implements_schema (line 207) | def test_phone_number_implements_schema(self): method test_formatted_phone_number_implements_schema (line 215) | def test_formatted_phone_number_implements_schema(self): method test_sequence_not_str_implements_schema (line 223) | def test_sequence_not_str_implements_schema(self): FILE: tests/test_base.py class TestParseBound (line 20) | class TestParseBound: method test_can_parse_simple_bound (line 21) | def test_can_parse_simple_bound(self): method test_raises_for_invalid_value (line 25) | def test_raises_for_invalid_value(self): method test_raises_for_invalid_intersection (line 33) | def test_raises_for_invalid_intersection(self): method test_raises_for_invalid_union (line 41) | def test_raises_for_invalid_union(self): method test_raises_for_invalid_pep_604_union (line 50) | def test_raises_for_invalid_pep_604_union(self): method test_can_parse_intersection (line 58) | def test_can_parse_intersection(self): method test_can_parse_union (line 69) | def test_can_parse_union(self): class TestPhantom (line 85) | class TestPhantom: method test_subclass_without_predicate_raises (line 86) | def test_subclass_without_predicate_raises(self): method test_subclass_without_bound_raises (line 93) | def test_subclass_without_bound_raises(self): method test_rejects_partial_bound (line 100) | def test_rejects_partial_bound(self): method test_concrecte_subclass_of_abstract_raises_for_missing_class_attribute (line 105) | def test_concrecte_subclass_of_abstract_raises_for_missing_class_attri... method test_can_subclass_without_predicate_if_abstract (line 114) | def test_can_subclass_without_predicate_if_abstract(self): method test_can_subclass_without_bound_if_abstract (line 117) | def test_can_subclass_without_bound_if_abstract(self): method test_subclass_with_incompatible_bounds_raises (line 120) | def test_subclass_with_incompatible_bounds_raises(self): method test_can_define_bound_implicitly (line 127) | def test_can_define_bound_implicitly(self): method test_can_define_bound_explicitly (line 132) | def test_can_define_bound_explicitly(self): method test_can_inherit_bound (line 137) | def test_can_inherit_bound(self): method test_raises_mutable_type_for_mutable_bound_type (line 153) | def test_raises_mutable_type_for_mutable_bound_type(self, bound_type: ... method test_can_use_frozen_dataclass_as_bound (line 162) | def test_can_use_frozen_dataclass_as_bound(self): method test_abstract_instance_check_raises (line 168) | def test_abstract_instance_check_raises(self): method test_phantom_meta_is_usable_without_phantom_base (line 174) | def test_phantom_meta_is_usable_without_phantom_base(self): FILE: tests/test_boolean.py class TestTruthy (line 10) | class TestTruthy: method test_truthy_value_is_instance (line 12) | def test_truthy_value_is_instance(self, v): method test_falsy_value_is_not_instance (line 16) | def test_falsy_value_is_not_instance(self, v): method test_instantiation_returns_instance (line 20) | def test_instantiation_returns_instance(self, v): method test_instantiation_raises_for_falsy_value (line 24) | def test_instantiation_raises_for_falsy_value(self, v): class TestFalsy (line 29) | class TestFalsy: method test_falsy_value_is_instance (line 31) | def test_falsy_value_is_instance(self, v): method test_truthy_value_is_not_instance (line 35) | def test_truthy_value_is_not_instance(self, v): method test_instantiation_returns_instance (line 39) | def test_instantiation_returns_instance(self, v): method test_instantiation_raises_for_truthy_value (line 43) | def test_instantiation_raises_for_truthy_value(self, v): FILE: tests/test_datetime.py class TestTZAware (line 92) | class TestTZAware: method test_aware_datetime_is_instance (line 94) | def test_aware_datetime_is_instance(self, dt: datetime.datetime): method test_naive_datetime_is_not_instance (line 98) | def test_naive_datetime_is_not_instance(self, dt: datetime.datetime): method test_instantiation_raises_for_naive_datetime_instance (line 102) | def test_instantiation_raises_for_naive_datetime_instance( method test_instantiation_returns_instance (line 109) | def test_instantiation_returns_instance(self, dt: datetime.datetime): method test_parse_rejects_non_str_object (line 113) | def test_parse_rejects_non_str_object(self, value: object): method test_parse_rejects_invalid_str (line 119) | def test_parse_rejects_invalid_str(self, value: object): method test_parse_rejects_naive_str (line 125) | def test_parse_rejects_naive_str(self, value: str, expected: datetime.... method test_can_parse_valid_str (line 131) | def test_can_parse_valid_str(self, value: str, expected: datetime.date... method test_parse_str_without_dateutil_raises_missing_dependency (line 136) | def test_parse_str_without_dateutil_raises_missing_dependency( class TestTZNaive (line 145) | class TestTZNaive: method test_naive_datetime_is_instance (line 147) | def test_naive_datetime_is_instance(self, dt: datetime.datetime): method test_aware_datetime_is_not_instance (line 151) | def test_aware_datetime_is_not_instance(self, dt: datetime.datetime): method test_instantiation_raises_for_aware_datetime_instance (line 155) | def test_instantiation_raises_for_aware_datetime_instance( method test_instantiation_returns_instance (line 162) | def test_instantiation_returns_instance(self, dt: datetime.datetime): method test_parse_rejects_non_str_object (line 166) | def test_parse_rejects_non_str_object(self, value: object): method test_parse_rejects_invalid_str (line 172) | def test_parse_rejects_invalid_str(self, value: object): method test_parse_rejects_aware_str (line 178) | def test_parse_rejects_aware_str(self, value: str, expected: datetime.... method test_can_parse_valid_str (line 184) | def test_can_parse_valid_str(self, value: str, expected: datetime.date... method test_parse_str_without_dateutil_raises_missing_dependency (line 189) | def test_parse_str_without_dateutil_raises_missing_dependency( FILE: tests/test_fn.py class Test_name (line 24) | class Test_name: class Nested (line 25) | class Nested: method method (line 26) | def method(self): ... method test_can_get_name_of (line 38) | def test_can_get_name_of(self, function: Callable, expected: str) -> N... function reversed_str (line 42) | def reversed_str(value: str) -> str: class TestCompose2 (line 51) | class TestCompose2: method test_can_compose_two (line 61) | def test_can_compose_two( method test_can_compose_complex_predicate (line 73) | def test_can_compose_complex_predicate(self) -> None: class BaseError (line 86) | class BaseError(Exception): ... class Error (line 89) | class Error(BaseError): ... class ErrorA (line 92) | class ErrorA(Error): ... class ErrorB (line 95) | class ErrorB(Error): ... function dummy_function (line 98) | def dummy_function(val: type[Exception]) -> None: class TestExcepts (line 103) | class TestExcepts: method test_returns_bool (line 114) | def test_returns_bool( method test_reraises (line 122) | def test_reraises(self) -> None: FILE: tests/test_interval.py class TestInterval (line 24) | class TestInterval: method test_subclassing_without_check_raises (line 25) | def test_subclassing_without_check_raises(self): method test_parse_coerces_str (line 30) | def test_parse_coerces_str(self): method test_allows_decimal_bound (line 35) | def test_allows_decimal_bound(self): method test_subclass_inherits_bounds (line 48) | def test_subclass_inherits_bounds(self): class TestNegativeInt (line 80) | class TestNegativeInt: method test_negative_int_is_instance (line 82) | def test_negative_int_is_instance(self, i): method test_positive_int_is_not_instance (line 85) | def test_positive_int_is_not_instance(self): method test_instantiation_raises_for_positive_int (line 89) | def test_instantiation_raises_for_positive_int(self): method test_instantiation_returns_instance (line 96) | def test_instantiation_returns_instance(self, i): class TestNatural (line 100) | class TestNatural: method test_positive_int_is_instance (line 102) | def test_positive_int_is_instance(self, i): method test_negative_int_is_not_instance (line 105) | def test_negative_int_is_not_instance(self): method test_instantiation_raises_for_positive_int (line 109) | def test_instantiation_raises_for_positive_int(self): method test_instantiation_returns_instance (line 118) | def test_instantiation_returns_instance(self, i): class TestPortion (line 130) | class TestPortion: method test_value_inside_range_is_instance (line 132) | def test_value_inside_range_is_instance(self, i): method test_value_outside_range_is_instance (line 136) | def test_value_outside_range_is_instance(self, i): method test_instantiation_returns_instance (line 140) | def test_instantiation_returns_instance(self, i): method test_instantiation_raises_for_non_portion_values (line 145) | def test_instantiation_raises_for_non_portion_values(self, i): class TestGetScalarIntBounds (line 152) | class TestGetScalarIntBounds: method test_returns_correct_bounds (line 164) | def test_returns_correct_bounds( method test_raises_non_scalar_bounds_for_non_int_lower_bound (line 176) | def test_raises_non_scalar_bounds_for_non_int_lower_bound(self): method test_raises_non_scalar_bounds_for_non_int_upper_bound (line 190) | def test_raises_non_scalar_bounds_for_non_int_upper_bound(self): class TestGetScalarFloatBounds (line 205) | class TestGetScalarFloatBounds: method test_returns_correct_bounds (line 215) | def test_returns_correct_bounds( method test_raises_non_scalar_bounds_for_non_int_lower_bound (line 225) | def test_raises_non_scalar_bounds_for_non_int_lower_bound(self): method test_raises_non_scalar_bounds_for_non_int_upper_bound (line 239) | def test_raises_non_scalar_bounds_for_non_int_upper_bound(self): FILE: tests/test_iso3166.py class TestNormalizeAlpha2CountryCode (line 8) | class TestNormalizeAlpha2CountryCode: method test_normalizes_mixed_case_valid_country_code (line 13) | def test_normalizes_mixed_case_valid_country_code( method test_raises_for_invalid_country_code (line 19) | def test_raises_for_invalid_country_code(self, invalid: str) -> None: class TestAlpha2 (line 24) | class TestAlpha2: method test_invalid_country_code_is_not_instance (line 26) | def test_invalid_country_code_is_not_instance(self, invalid: object) -... method test_valid_country_code_is_instance (line 30) | def test_valid_country_code_is_instance(self, country_code: str) -> None: method test_normalizes_valid_country_code (line 33) | def test_normalizes_valid_country_code(self) -> None: method test_raises_for_invalid_country_code (line 39) | def test_raises_for_invalid_country_code(self, invalid: str) -> None: FILE: tests/test_negated.py class TestSequenceNotStr (line 34) | class TestSequenceNotStr: method test_is_instance (line 36) | def test_is_instance(self, value: object): method test_is_not_instance (line 40) | def test_is_not_instance(self, value: object): method test_parse_returns_instance (line 44) | def test_parse_returns_instance(self, value: object): method test_parse_raises_for_non_instances (line 48) | def test_parse_raises_for_non_instances(self, value: object): method test_subscription_returns_type_alias (line 52) | def test_subscription_returns_type_alias(self): FILE: tests/test_re.py class MatchPatternInstance (line 11) | class MatchPatternInstance(Match, pattern=re.compile(r"abc")): ... class MatchPatternStr (line 14) | class MatchPatternStr(Match, pattern=r"abc"): ... class TestMatch (line 22) | class TestMatch: method test_non_matching_string_is_not_instance (line 24) | def test_non_matching_string_is_not_instance(self, match_type: type[Ma... method test_matching_string_is_instance (line 28) | def test_matching_string_is_instance(self, match_type: type[Match]): method test_instantiation_raises_for_non_matching_string (line 32) | def test_instantiation_raises_for_non_matching_string( method test_instantiation_returns_instance (line 39) | def test_instantiation_returns_instance(self, match_type: type[Match]): class FullMatchPatternInstance (line 44) | class FullMatchPatternInstance(FullMatch, pattern=re.compile(r"abc")): ... class FullMatchStr (line 47) | class FullMatchStr(FullMatch, pattern=r"abc"): ... class TestFullMatch (line 55) | class TestFullMatch: method test_non_matching_string_is_not_instance (line 57) | def test_non_matching_string_is_not_instance( method test_matching_string_is_instance (line 63) | def test_matching_string_is_instance(self, full_match_type: type[FullM... method test_instantiation_raises_for_non_matching_string (line 67) | def test_instantiation_raises_for_non_matching_string( method test_instantiation_returns_instance (line 74) | def test_instantiation_returns_instance(self, full_match_type: type[Fu... FILE: tests/test_sized.py class MutableDataclass (line 21) | class MutableDataclass: class OddSize (line 42) | class OddSize(PhantomSized[T], Generic[T], len=odd): ... class TestPhantomSized (line 45) | class TestPhantomSized: method test_value_fulfilling_predicate_is_instance (line 68) | def test_value_fulfilling_predicate_is_instance(self, container: object): method test_value_not_fulfilling_predicate_is_not_instance (line 72) | def test_value_not_fulfilling_predicate_is_not_instance(self, containe... method test_instantiation_raises_for_invalid_length (line 76) | def test_instantiation_raises_for_invalid_length(self, container: obje... method test_instantiation_raises_for_mutable (line 81) | def test_instantiation_raises_for_mutable(self, container: object): method test_instantiation_returns_instance (line 86) | def test_instantiation_returns_instance(self, container: object): method test_subscription_returns_type_alias (line 89) | def test_subscription_returns_type_alias(self): class Tens (line 96) | class Tens(PhantomBound[T], Generic[T], min=10, max=19): ... class TestPhantomBound (line 99) | class TestPhantomBound: method test_value_fulfilling_predicate_is_instance (line 110) | def test_value_fulfilling_predicate_is_instance(self, container: object): method test_value_not_fulfilling_predicate_is_not_instance (line 114) | def test_value_not_fulfilling_predicate_is_not_instance(self, containe... method test_instantiation_raises_for_invalid_length (line 118) | def test_instantiation_raises_for_invalid_length(self, container: obje... method test_instantiation_raises_for_mutable (line 123) | def test_instantiation_raises_for_mutable(self, container: object): method test_instantiation_returns_instance (line 128) | def test_instantiation_returns_instance(self, container: object): method test_subscription_returns_type_alias (line 131) | def test_subscription_returns_type_alias(self): method test_raises_lsp_violation_when_attempting_to_decrease_min (line 137) | def test_raises_lsp_violation_when_attempting_to_decrease_min(self): method test_raises_lsp_violation_when_attempting_to_increase_max (line 142) | def test_raises_lsp_violation_when_attempting_to_increase_max(self): method test_can_narrow_range_in_subclass (line 147) | def test_can_narrow_range_in_subclass(self): method test_abstract_subclass_can_omit_bounds (line 155) | def test_abstract_subclass_can_omit_bounds(self): method test_raises_unresolved_bounds_when_concrete_subclass_omits_bounds (line 163) | def test_raises_unresolved_bounds_when_concrete_subclass_omits_bounds(... class TestNonEmpty (line 169) | class TestNonEmpty: method test_non_empty_container_is_instance (line 171) | def test_non_empty_container_is_instance(self, container): method test_empty_container_is_instance (line 175) | def test_empty_container_is_instance(self, container): method test_instantiation_raises_for_empty_container (line 179) | def test_instantiation_raises_for_empty_container(self, container): method test_instantiation_raises_for_mutable (line 184) | def test_instantiation_raises_for_mutable(self, container): method test_instantiation_returns_instance (line 189) | def test_instantiation_returns_instance(self, container): method test_subscription_returns_type_alias (line 192) | def test_subscription_returns_type_alias(self): class TestEmpty (line 199) | class TestEmpty: method test_non_empty_container_is_instance (line 201) | def test_non_empty_container_is_instance(self, container): method test_empty_container_is_instance (line 205) | def test_empty_container_is_instance(self, container): method test_instantiation_raises_for_non_empty_container (line 209) | def test_instantiation_raises_for_non_empty_container(self, container): method test_instantiation_raises_for_mutable (line 214) | def test_instantiation_raises_for_mutable(self, container): method test_instantiation_returns_instance (line 219) | def test_instantiation_returns_instance(self, container): method test_subscription_returns_type_alias (line 222) | def test_subscription_returns_type_alias(self): class TestNonEmptyStr (line 235) | class TestNonEmptyStr: method test_non_empty_str_is_instance (line 237) | def test_non_empty_str_is_instance(self, value: str): method test_empty_str_is_not_instance (line 240) | def test_empty_str_is_not_instance(self): method test_instantiation_raises_for_empty_str (line 243) | def test_instantiation_raises_for_empty_str(self): method test_instantiation_raises_for_non_str (line 251) | def test_instantiation_raises_for_non_str(self, value: object): method test_instantiation_returns_instance (line 256) | def test_instantiation_returns_instance(self, value: str): FILE: tests/test_utils.py class A (line 9) | class A: ... class B (line 12) | class B: ... class C (line 15) | class C: ... class AAndB (line 18) | class AAndB(A, B): ... class SubOfA (line 21) | class SubOfA(A): ... class TestIsSubtype (line 24) | class TestIsSubtype: method test_returns_true_for_valid_subtype (line 50) | def test_returns_true_for_valid_subtype(self, a: BoundType, b: BoundTy... method test_returns_false_for_valid_subtype (line 80) | def test_returns_false_for_valid_subtype(self, a: BoundType, b: BoundT... FILE: tests/types.py class FloatInc (line 7) | class FloatInc(float, Inclusive, low=0, high=100): ... class IntInc (line 10) | class IntInc(int, Inclusive, low=0, high=100): ... class FloatExc (line 13) | class FloatExc(float, Exclusive, low=0, high=100): ... class IntExc (line 16) | class IntExc(int, Exclusive, low=0, high=100): ... class FloatIncExc (line 19) | class FloatIncExc(float, InclusiveExclusive, low=0, high=100): ... class IntIncExc (line 22) | class IntIncExc(int, InclusiveExclusive, low=0, high=100): ... class FloatExcInc (line 25) | class FloatExcInc(float, ExclusiveInclusive, low=0, high=100): ... class IntExcInc (line 28) | class IntExcInc(int, ExclusiveInclusive, low=0, high=100): ...