============================= test session starts ============================== platform sunos5 -- Python $(PYTHON_VERSION).X -- $(PYTHON) cachedir: .pytest_cache rootdir: $(@D) configfile: pyproject.toml testpaths: tests collecting ... collected 550 items tests/test_base.py::test_or PASSED tests/test_base.py::test_and PASSED tests/test_base.py::test_not PASSED tests/test_base.py::test_value_eq PASSED tests/test_base.py::test_value_ne PASSED tests/test_base.py::test_dict_compare PASSED tests/test_base.py::test_not_repr PASSED tests/test_base.py::test_not_repr_instance PASSED tests/test_base.py::test_repr PASSED tests/test_base.py::test_repr_class[IsInt-IsInt] PASSED tests/test_base.py::test_repr_class[v1-~IsInt] PASSED tests/test_base.py::test_repr_class[v2-IsInt & IsPositive] PASSED tests/test_base.py::test_repr_class[v3-IsInt | IsPositive] PASSED tests/test_base.py::test_repr_class[v4-IsInt()] PASSED tests/test_base.py::test_repr_class[v5-~IsInt()] PASSED tests/test_base.py::test_repr_class[v6-IsInt() & IsPositive()] PASSED tests/test_base.py::test_repr_class[v7-IsInt() | IsPositive()] PASSED tests/test_base.py::test_repr_class[v8-IsInt() & IsPositive] PASSED tests/test_base.py::test_repr_class[v9-IsInt() | IsPositive] PASSED tests/test_base.py::test_repr_class[v10-IsPositive & IsInt(lt=5)] PASSED tests/test_base.py::test_repr_class[v11-IsOneOf(1, 2, 3)] PASSED tests/test_base.py::test_is_approx_without_init PASSED tests/test_base.py::test_ne_repr PASSED tests/test_base.py::test_pprint PASSED tests/test_base.py::test_pprint_not_equal PASSED tests/test_base.py::test_is_one_of[1-dirty0] PASSED tests/test_base.py::test_is_one_of[4-dirty1] PASSED tests/test_base.py::test_is_one_of[value2-dirty2] PASSED tests/test_base.py::test_is_one_of[value3-dirty3] PASSED tests/test_base.py::test_is_one_of[value4-dirty4] PASSED tests/test_base.py::test_version PASSED tests/test_boolean.py::test_is_false_like[False-IsFalseLike] PASSED tests/test_boolean.py::test_is_false_like[True-expected1] PASSED tests/test_boolean.py::test_is_false_like[other2-IsFalseLike] PASSED tests/test_boolean.py::test_is_false_like[other3-expected3] PASSED tests/test_boolean.py::test_is_false_like[other4-IsFalseLike] PASSED tests/test_boolean.py::test_is_false_like[-IsFalseLike] PASSED tests/test_boolean.py::test_is_false_like[-expected6] PASSED tests/test_boolean.py::test_is_false_like[other7-expected7] PASSED tests/test_boolean.py::test_is_false_like[other8-IsFalseLike] PASSED tests/test_boolean.py::test_is_false_like[other9-expected9] PASSED tests/test_boolean.py::test_is_false_like[other10-IsFalseLike] PASSED tests/test_boolean.py::test_is_false_like[other11-expected11] PASSED tests/test_boolean.py::test_is_false_like[None-IsFalseLike] PASSED tests/test_boolean.py::test_is_false_like[0-IsFalseLike] PASSED tests/test_boolean.py::test_is_false_like[1-expected14] PASSED tests/test_boolean.py::test_is_false_like[0.0-IsFalseLike] PASSED tests/test_boolean.py::test_is_false_like[1.0-expected16] PASSED tests/test_boolean.py::test_is_false_like[0-expected17] PASSED tests/test_boolean.py::test_is_false_like[1-expected18] PASSED tests/test_boolean.py::test_is_false_like[0.0-expected19] PASSED tests/test_boolean.py::test_is_false_like[0.000-expected20] PASSED tests/test_boolean.py::test_is_false_like[1.0-expected21] PASSED tests/test_boolean.py::test_is_false_like[False-expected22] PASSED tests/test_boolean.py::test_is_false_like[True-expected23] PASSED tests/test_boolean.py::test_is_false_like[0-expected24] PASSED tests/test_boolean.py::test_is_false_like_repr PASSED tests/test_boolean.py::test_dirty_not_equals PASSED tests/test_boolean.py::test_dirty_not_equals_instance PASSED tests/test_boolean.py::test_invalid_initialization PASSED tests/test_boolean.py::test_is_true_like[False-expected0] PASSED tests/test_boolean.py::test_is_true_like[True-IsTrueLike] PASSED tests/test_boolean.py::test_is_true_like[other2-expected2] PASSED tests/test_boolean.py::test_is_true_like[other3-IsTrueLike] PASSED tests/test_boolean.py::test_is_true_like[other4-expected4] PASSED tests/test_boolean.py::test_is_true_like[other5-IsTrueLike] PASSED tests/test_boolean.py::test_is_true_like[other6-expected6] PASSED tests/test_boolean.py::test_is_true_like[other7-IsTrueLike] PASSED tests/test_boolean.py::test_is_true_like[other8-expected8] PASSED tests/test_boolean.py::test_is_true_like[other9-IsTrueLike] PASSED tests/test_boolean.py::test_is_true_like[None-expected10] PASSED tests/test_boolean.py::test_is_true_like[0-expected11] PASSED tests/test_boolean.py::test_is_true_like[1-IsTrueLike] PASSED tests/test_boolean.py::test_is_true_like[0.0-expected13] PASSED tests/test_boolean.py::test_is_true_like[1.0-IsTrueLike] PASSED tests/test_datetime.py::test_is_datetime[same] PASSED tests/test_datetime.py::test_is_datetime[unix-int] PASSED tests/test_datetime.py::test_is_datetime[unix-float] PASSED tests/test_datetime.py::test_is_datetime[unix-different] PASSED tests/test_datetime.py::test_is_datetime[iso-string-true] PASSED tests/test_datetime.py::test_is_datetime[iso-string-different] PASSED tests/test_datetime.py::test_is_datetime[iso-string-wrong] PASSED tests/test_datetime.py::test_is_datetime[string-format] PASSED tests/test_datetime.py::test_is_datetime[string-format-different] PASSED tests/test_datetime.py::test_is_datetime[string-format-wrong] PASSED tests/test_datetime.py::test_is_datetime[isnow-str-different] PASSED tests/test_datetime.py::test_is_datetime[wrong-type] PASSED tests/test_datetime.py::test_is_datetime[tz-same] PASSED tests/test_datetime.py::test_is_datetime[tz-utc] PASSED tests/test_datetime.py::test_is_datetime[tz-utc-different] PASSED tests/test_datetime.py::test_is_datetime[tz-approx-tz] PASSED tests/test_datetime.py::test_is_datetime[tz-1-hour] PASSED tests/test_datetime.py::test_is_datetime[tz-both-tz] PASSED tests/test_datetime.py::test_is_datetime[tz-both-tz-different] PASSED tests/test_datetime.py::test_is_datetime[ge] PASSED tests/test_datetime.py::test_is_datetime[ge-not] PASSED tests/test_datetime.py::test_is_datetime[gt] PASSED tests/test_datetime.py::test_is_datetime[gt-not] PASSED tests/test_datetime.py::test_is_datetime_zoneinfo PASSED tests/test_datetime.py::test_is_now_dt PASSED tests/test_datetime.py::test_is_now_str PASSED tests/test_datetime.py::test_repr PASSED tests/test_datetime.py::test_is_now_tz PASSED tests/test_datetime.py::test_delta PASSED tests/test_datetime.py::test_is_now_relative PASSED tests/test_datetime.py::test_tz PASSED tests/test_datetime.py::test_is_date[same] PASSED tests/test_datetime.py::test_is_date[iso-string-true] PASSED tests/test_datetime.py::test_is_date[iso-string-different0] PASSED tests/test_datetime.py::test_is_date[iso-string-different1] PASSED tests/test_datetime.py::test_is_date[iso-string-wrong] PASSED tests/test_datetime.py::test_is_date[string-format] PASSED tests/test_datetime.py::test_is_date[string-format-different] PASSED tests/test_datetime.py::test_is_date[string-format-wrong] PASSED tests/test_datetime.py::test_is_date[wrong-type] PASSED tests/test_datetime.py::test_is_date[wrong-type-datetime] PASSED tests/test_datetime.py::test_is_date[tz-same] PASSED tests/test_datetime.py::test_is_date[ge] PASSED tests/test_datetime.py::test_is_date[ge-not] PASSED tests/test_datetime.py::test_is_date[gt] PASSED tests/test_datetime.py::test_is_date[gt-not] PASSED tests/test_datetime.py::test_is_date[delta-int] PASSED tests/test_datetime.py::test_is_date[delta-float] PASSED tests/test_datetime.py::test_is_date[delta-timedelta] PASSED tests/test_datetime.py::test_is_today PASSED tests/test_dict.py::test_is_dict[input_value0-IsDict] PASSED tests/test_dict.py::test_is_dict[input_value1-expected1] PASSED tests/test_dict.py::test_is_dict[input_value2-expected2] PASSED tests/test_dict.py::test_is_dict[input_value3-expected3] PASSED tests/test_dict.py::test_is_dict[input_value4-expected4] PASSED tests/test_dict.py::test_is_dict[input_value5-expected5] PASSED tests/test_dict.py::test_is_dict[input_value6-expected6] PASSED tests/test_dict.py::test_is_dict[input_value7-expected7] PASSED tests/test_dict.py::test_is_dict[input_value8-expected8] PASSED tests/test_dict.py::test_is_dict[input_value9-expected9] PASSED tests/test_dict.py::test_is_dict[input_value10-expected10] PASSED tests/test_dict.py::test_is_dict[input_value11-expected11] PASSED tests/test_dict.py::test_is_dict[input_value12-expected12] PASSED tests/test_dict.py::test_is_dict[input_value13-expected13] PASSED tests/test_dict.py::test_is_dict[input_value14-expected14] PASSED tests/test_dict.py::test_is_dict[input_value15-expected15] PASSED tests/test_dict.py::test_is_dict[input_value16-expected16] PASSED tests/test_dict.py::test_is_dict[input_value17-expected17] PASSED tests/test_dict.py::test_is_dict[input_value18-expected18] PASSED tests/test_dict.py::test_is_dict[input_value19-expected19] PASSED tests/test_dict.py::test_is_dict[input_value20-expected20] PASSED tests/test_dict.py::test_is_dict[input_value21-expected21] PASSED tests/test_dict.py::test_is_dict[input_value22-expected22] PASSED tests/test_dict.py::test_is_dict[input_value23-expected23] PASSED tests/test_dict.py::test_is_dict[input_value24-expected24] PASSED tests/test_dict.py::test_is_dict[input_value25-expected25] PASSED tests/test_dict.py::test_is_dict[input_value26-expected26] PASSED tests/test_dict.py::test_is_dict[input_value27-expected27] PASSED tests/test_dict.py::test_is_dict[input_value28-expected28] PASSED tests/test_dict.py::test_is_dict[input_value29-expected29] PASSED tests/test_dict.py::test_is_dict[input_value30-expected30] PASSED tests/test_dict.py::test_ne_repr_partial_dict PASSED tests/test_dict.py::test_ne_repr_strict_dict PASSED tests/test_dict.py::test_args_and_kwargs PASSED tests/test_dict.py::test_multiple_args PASSED tests/test_dict.py::test_arg_not_dict PASSED tests/test_dict.py::test_combine_partial_ignore PASSED tests/test_dict.py::test_callable_ignore PASSED tests/test_dict.py::test_not_equals_repr[IsDict-IsDict] PASSED tests/test_dict.py::test_not_equals_repr[d1-IsDict()] PASSED tests/test_dict.py::test_not_equals_repr[IsPartialDict-IsPartialDict] PASSED tests/test_dict.py::test_not_equals_repr[d3-IsPartialDict()] PASSED tests/test_dict.py::test_not_equals_repr[d4-IsDict[partial=True]()] PASSED tests/test_dict.py::test_not_equals_repr[d5-IsIgnoreDict()] PASSED tests/test_dict.py::test_not_equals_repr[d6-IsIgnoreDict[ignore={7}]()] PASSED tests/test_dict.py::test_not_equals_repr[d7-IsIgnoreDict()] PASSED tests/test_dict.py::test_not_equals_repr[d8-IsIgnoreDict[ignore=None]()] PASSED tests/test_dict.py::test_not_equals_repr[d9-IsDict[ignore=ignore_42]()] PASSED tests/test_dict.py::test_not_equals_repr[d10-IsDict[ignore={7}]()] PASSED tests/test_dict.py::test_not_equals_repr[d11-IsDict[ignore={None}]()] PASSED tests/test_dict.py::test_not_equals_repr[d12-IsPartialDict[partial=False]()] PASSED tests/test_dict.py::test_not_equals_repr[IsStrictDict-IsStrictDict] PASSED tests/test_dict.py::test_not_equals_repr[d14-IsStrictDict()] PASSED tests/test_dict.py::test_not_equals_repr[d15-IsDict[strict=True]()] PASSED tests/test_dict.py::test_not_equals_repr[d16-IsStrictDict[strict=False]()] PASSED tests/test_dict.py::test_ignore PASSED tests/test_dict.py::test_ignore_with_is_str PASSED tests/test_dict.py::test_unhashable_value PASSED tests/test_inspection.py::test_is_instance_of PASSED tests/test_inspection.py::test_is_instance_of_inherit PASSED tests/test_inspection.py::test_is_instance_of_repr PASSED tests/test_inspection.py::test_has_name[-HasName('Foo', allow_instances=True)0] PASSED tests/test_inspection.py::test_has_name[-HasName('Foo', allow_instances=True)1] PASSED tests/test_inspection.py::test_has_name[-HasName('Foo', allow_instances=True)2] PASSED tests/test_inspection.py::test_has_name[-~HasName('Foo', allow_instances=False)] PASSED tests/test_inspection.py::test_has_name[-~HasName('Foo', allow_instances=True)] PASSED tests/test_inspection.py::test_has_name[-HasName('int', allow_instances=True)0] PASSED tests/test_inspection.py::test_has_name[-HasName('int', allow_instances=True)1] PASSED tests/test_inspection.py::test_has_name[-HasName('even', allow_instances=True)] PASSED tests/test_inspection.py::test_has_name[-HasName('spam', allow_instances=True)0] PASSED tests/test_inspection.py::test_has_name[-HasName('spam', allow_instances=True)1] PASSED tests/test_inspection.py::test_has_name[-HasName(IsStr(regex='F..'), allow_instances=True)] PASSED tests/test_inspection.py::test_has_name[-~HasName(IsStr(regex='F..'), allow_instances=True)] PASSED tests/test_inspection.py::test_has_attributes[-HasAttributes(a=1, b=2)] PASSED tests/test_inspection.py::test_has_attributes[-HasAttributes(a=IsInt(), b=IsStr())] PASSED tests/test_inspection.py::test_has_attributes[-~HasAttributes(a=IsInt(), b=IsStr())] PASSED tests/test_inspection.py::test_has_attributes[-~HasAttributes(a=1, b=2, c=3)] PASSED tests/test_inspection.py::test_has_attributes[-HasAttributes(a=1, b=2, spam=AnyThing)] PASSED tests/test_inspection.py::test_has_attributes[-~HasAttributes(a=1, b=2, missing=AnyThing)] PASSED tests/test_inspection.py::test_has_repr[-HasRepr('Bar(a=1, b=2)')0] PASSED tests/test_inspection.py::test_has_repr[-HasRepr('Bar(a=1, b=2)')1] PASSED tests/test_inspection.py::test_has_repr[-~HasRepr('Bar(a=1, b=2)')] PASSED tests/test_inspection.py::test_has_repr[-HasRepr(IsStr(regex=''))] PASSED tests/test_inspection.py::test_has_repr[-HasRepr("")] PASSED tests/test_inspection.py::test_has_repr[-HasRepr('42')] PASSED tests/test_inspection.py::test_has_repr[-~HasRepr('42')] PASSED tests/test_list_tuple.py::test_dirty_equals[other0-IsList] PASSED tests/test_list_tuple.py::test_dirty_equals[other1-IsTuple] PASSED tests/test_list_tuple.py::test_dirty_equals[other2-dirty2] PASSED tests/test_list_tuple.py::test_dirty_equals[other3-dirty3] PASSED tests/test_list_tuple.py::test_dirty_equals[other4-dirty4] PASSED tests/test_list_tuple.py::test_dirty_equals[other5-dirty5] PASSED tests/test_list_tuple.py::test_dirty_equals[other6-dirty6] PASSED tests/test_list_tuple.py::test_dirty_equals[other7-dirty7] PASSED tests/test_list_tuple.py::test_dirty_equals[other8-dirty8] PASSED tests/test_list_tuple.py::test_dirty_equals[other9-dirty9] PASSED tests/test_list_tuple.py::test_dirty_equals[other10-dirty10] PASSED tests/test_list_tuple.py::test_dirty_equals[other11-dirty11] PASSED tests/test_list_tuple.py::test_dirty_equals[other12-dirty12] PASSED tests/test_list_tuple.py::test_dirty_equals[other13-dirty13] PASSED tests/test_list_tuple.py::test_dirty_equals[other14-dirty14] PASSED tests/test_list_tuple.py::test_dirty_equals[other15-dirty15] PASSED tests/test_list_tuple.py::test_dirty_equals[other16-dirty16] PASSED tests/test_list_tuple.py::test_dirty_equals[other17-dirty17] PASSED tests/test_list_tuple.py::test_dirty_equals[other18-dirty18] PASSED tests/test_list_tuple.py::test_dirty_equals[other19-dirty19] PASSED tests/test_list_tuple.py::test_dirty_equals[other20-dirty20] PASSED tests/test_list_tuple.py::test_dirty_equals[other21-dirty21] PASSED tests/test_list_tuple.py::test_dirty_equals[123-dirty22] PASSED tests/test_list_tuple.py::test_dirty_equals[123-dirty23] PASSED tests/test_list_tuple.py::test_dirty_equals[other24-dirty24] PASSED tests/test_list_tuple.py::test_dirty_equals[other25-dirty25] PASSED tests/test_list_tuple.py::test_dirty_equals[other26-dirty26] PASSED tests/test_list_tuple.py::test_dirty_equals[other27-dirty27] PASSED tests/test_list_tuple.py::test_dirty_equals[other28-dirty28] PASSED tests/test_list_tuple.py::test_dirty_equals[other29-dirty29] PASSED tests/test_list_tuple.py::test_dirty_equals[other30-dirty30] PASSED tests/test_list_tuple.py::test_dirty_equals[other31-dirty31] PASSED tests/test_list_tuple.py::test_dirty_equals[other32-dirty32] PASSED tests/test_list_tuple.py::test_dirty_equals[abc-dirty33] PASSED tests/test_list_tuple.py::test_dirty_equals[other34-dirty34] PASSED tests/test_list_tuple.py::test_dirty_equals[other35-dirty35] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other0-IsTuple] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other1-IsList] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other2-IsList] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other3-dirty3] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other4-dirty4] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other5-dirty5] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other6-dirty6] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other7-dirty7] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other8-dirty8] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other9-dirty9] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other10-dirty10] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other11-dirty11] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other12-dirty12] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other13-dirty13] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other14-dirty14] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other15-dirty15] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other16-dirty16] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other17-dirty17] PASSED tests/test_list_tuple.py::test_dirty_not_equals[abc-dirty18] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other19-dirty19] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other20-dirty20] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other21-dirty21] PASSED tests/test_list_tuple.py::test_dirty_not_equals[123-dirty22] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other23-dirty23] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other24-dirty24] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other25-dirty25] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other26-dirty26] PASSED tests/test_list_tuple.py::test_dirty_not_equals[other27-dirty27] PASSED tests/test_list_tuple.py::test_args_and_positions PASSED tests/test_list_tuple.py::test_positions_with_check_order PASSED tests/test_list_tuple.py::test_wrong_length_length PASSED tests/test_list_tuple.py::test_repr[IsList-IsList] PASSED tests/test_list_tuple.py::test_repr[dirty1-IsTuple(1, 2, 3)] PASSED tests/test_list_tuple.py::test_repr[dirty2-IsList(positions={1: 10, 2: 20})] PASSED tests/test_list_tuple.py::test_repr[dirty3-IsTuple(1, 2, 3, length=4)] PASSED tests/test_list_tuple.py::test_repr[dirty4-IsTuple(1, 2, 3, length=(6, ...))] PASSED tests/test_list_tuple.py::test_repr[dirty5-IsTuple(1, 2, 3, length=(6, ...))] PASSED tests/test_list_tuple.py::test_repr[dirty6-IsTuple(1, 2, 3, length=(6, 10))] PASSED tests/test_list_tuple.py::test_repr[dirty7-IsTuple(1, 2, 3, check_order=False)] PASSED tests/test_list_tuple.py::test_repr[dirty8-HasLen(42)] PASSED tests/test_list_tuple.py::test_repr[dirty9-HasLen(0, ...)] PASSED tests/test_list_tuple.py::test_no_contains_value PASSED tests/test_numeric.py::test_dirty_equals[1-IsInt] PASSED tests/test_numeric.py::test_dirty_equals[1-dirty1] PASSED tests/test_numeric.py::test_dirty_equals[1-dirty2] PASSED tests/test_numeric.py::test_dirty_equals[1-IsPositiveInt] PASSED tests/test_numeric.py::test_dirty_equals[-1-IsNegativeInt] PASSED tests/test_numeric.py::test_dirty_equals[-1.0-IsFloat] PASSED tests/test_numeric.py::test_dirty_equals[-1.0-dirty6] PASSED tests/test_numeric.py::test_dirty_equals[1.0-IsPositiveFloat] PASSED tests/test_numeric.py::test_dirty_equals[-1.0-IsNegativeFloat] PASSED tests/test_numeric.py::test_dirty_equals[1-IsPositive] PASSED tests/test_numeric.py::test_dirty_equals[1.0-IsPositive] PASSED tests/test_numeric.py::test_dirty_equals[-1-IsNegative] PASSED tests/test_numeric.py::test_dirty_equals[-1.0-IsNegative] PASSED tests/test_numeric.py::test_dirty_equals[5-dirty13] PASSED tests/test_numeric.py::test_dirty_equals[5-dirty14] PASSED tests/test_numeric.py::test_dirty_equals[5-dirty15] PASSED tests/test_numeric.py::test_dirty_equals[5-dirty16] PASSED tests/test_numeric.py::test_dirty_equals[1-dirty17] PASSED tests/test_numeric.py::test_dirty_equals[1-dirty18] PASSED tests/test_numeric.py::test_dirty_equals[100-dirty19] PASSED tests/test_numeric.py::test_dirty_equals[-100-dirty20] PASSED tests/test_numeric.py::test_dirty_equals[0-IsNonNegative] PASSED tests/test_numeric.py::test_dirty_equals[1-IsNonNegative] PASSED tests/test_numeric.py::test_dirty_equals[0.0-IsNonNegative] PASSED tests/test_numeric.py::test_dirty_equals[1.0-IsNonNegative] PASSED tests/test_numeric.py::test_dirty_equals[0-IsNonPositive] PASSED tests/test_numeric.py::test_dirty_equals[-1-IsNonPositive] PASSED tests/test_numeric.py::test_dirty_equals[0.0-IsNonPositive] PASSED tests/test_numeric.py::test_dirty_equals[-1.0-IsNonPositive] PASSED tests/test_numeric.py::test_dirty_equals[-1-dirty29] PASSED tests/test_numeric.py::test_dirty_equals[1-dirty30] PASSED tests/test_numeric.py::test_dirty_equals[inf-IsFloatInf] PASSED tests/test_numeric.py::test_dirty_equals[-inf-IsFloatInf0] PASSED tests/test_numeric.py::test_dirty_equals[-inf-IsFloatInf1] PASSED tests/test_numeric.py::test_dirty_equals[inf-IsFloatInfPos0] PASSED tests/test_numeric.py::test_dirty_equals[inf-IsFloatInfPos1] PASSED tests/test_numeric.py::test_dirty_equals[-inf-IsFloatInfNeg0] PASSED tests/test_numeric.py::test_dirty_equals[-inf-IsFloatInfNeg1] PASSED tests/test_numeric.py::test_dirty_equals[nan-IsFloatNan0] PASSED tests/test_numeric.py::test_dirty_equals[nan-IsFloatNan1] PASSED tests/test_numeric.py::test_dirty_equals[nan-IsFloatNan2] PASSED tests/test_numeric.py::test_dirty_not_equals[1.0-IsInt] PASSED tests/test_numeric.py::test_dirty_not_equals[1.2-IsInt] PASSED tests/test_numeric.py::test_dirty_not_equals[1-IsInt(exactly=2)] PASSED tests/test_numeric.py::test_dirty_not_equals[True-IsInt] PASSED tests/test_numeric.py::test_dirty_not_equals[False-IsInt] PASSED tests/test_numeric.py::test_dirty_not_equals[1.0-IsInt()] PASSED tests/test_numeric.py::test_dirty_not_equals[-1-IsPositiveInt] PASSED tests/test_numeric.py::test_dirty_not_equals[0-IsPositiveInt] PASSED tests/test_numeric.py::test_dirty_not_equals[1-IsNegativeInt] PASSED tests/test_numeric.py::test_dirty_not_equals[0-IsNegativeInt] PASSED tests/test_numeric.py::test_dirty_not_equals[1-IsFloat] PASSED tests/test_numeric.py::test_dirty_not_equals[1-IsFloat(exactly=1.0)] PASSED tests/test_numeric.py::test_dirty_not_equals[1.1234-IsFloat(exactly=1.0)] PASSED tests/test_numeric.py::test_dirty_not_equals[-1.0-IsPositiveFloat] PASSED tests/test_numeric.py::test_dirty_not_equals[0.0-IsPositiveFloat] PASSED tests/test_numeric.py::test_dirty_not_equals[1.0-IsNegativeFloat] PASSED tests/test_numeric.py::test_dirty_not_equals[0.0-IsNegativeFloat] PASSED tests/test_numeric.py::test_dirty_not_equals[-1-IsPositive] PASSED tests/test_numeric.py::test_dirty_not_equals[-1.0-IsPositive] PASSED tests/test_numeric.py::test_dirty_not_equals[4-IsInt(gt=4)] PASSED tests/test_numeric.py::test_dirty_not_equals[4-IsInt(ge=5)] PASSED tests/test_numeric.py::test_dirty_not_equals[6-IsInt(lt=6)] PASSED tests/test_numeric.py::test_dirty_not_equals[6-IsInt(le=5)] PASSED tests/test_numeric.py::test_dirty_not_equals[-1-IsNonNegative] PASSED tests/test_numeric.py::test_dirty_not_equals[-1.0-IsNonNegative] PASSED tests/test_numeric.py::test_dirty_not_equals[1-IsNonPositive] PASSED tests/test_numeric.py::test_dirty_not_equals[1.0-IsNonPositive] PASSED tests/test_numeric.py::test_dirty_not_equals[-1.0-IsNonPositive & IsInt] PASSED tests/test_numeric.py::test_dirty_not_equals[1.0-IsNonNegative & IsInt] PASSED tests/test_numeric.py::test_dirty_not_equals[1-IsFloatNan] PASSED tests/test_numeric.py::test_dirty_not_equals[1.0-IsFloatNan] PASSED tests/test_numeric.py::test_dirty_not_equals[1-IsFloatInf] PASSED tests/test_numeric.py::test_dirty_not_equals[1.0-IsFloatInf] PASSED tests/test_numeric.py::test_dirty_not_equals[-inf-IsFloatInfPos0] PASSED tests/test_numeric.py::test_dirty_not_equals[-inf-IsFloatInfPos1] PASSED tests/test_numeric.py::test_dirty_not_equals[inf-IsFloatInfNeg0] PASSED tests/test_numeric.py::test_dirty_not_equals[inf-IsFloatInfNeg1] PASSED tests/test_numeric.py::test_invalid_approx_gt PASSED tests/test_numeric.py::test_invalid_exactly_approx PASSED tests/test_numeric.py::test_invalid_exactly_gt PASSED tests/test_numeric.py::test_not_int PASSED tests/test_numeric.py::test_not_negative PASSED tests/test_other.py::test_is_uuid_true[other0-dirty0] PASSED tests/test_other.py::test_is_uuid_true[other1-IsUUID] PASSED tests/test_other.py::test_is_uuid_true[other2-dirty2] PASSED tests/test_other.py::test_is_uuid_true[edf9f29e-45c7-431c-99db-28ea44df9785-IsUUID] PASSED tests/test_other.py::test_is_uuid_true[edf9f29e-45c7-431c-99db-28ea44df9785-dirty4] PASSED tests/test_other.py::test_is_uuid_true[edf9f29e45c7431c99db28ea44df9785-dirty5] PASSED tests/test_other.py::test_is_uuid_true[other6-IsUUID] PASSED tests/test_other.py::test_is_uuid_true[other7-dirty7] PASSED tests/test_other.py::test_is_uuid_true[other8-dirty8] PASSED tests/test_other.py::test_is_uuid_true[be310794-5a33-11ef-a120-020000000011-dirty9] PASSED tests/test_other.py::test_is_uuid_true[ea9e828d-fd18-3898-99f3-5a46dbcee036-dirty10] PASSED tests/test_other.py::test_is_uuid_false[foobar-dirty0] PASSED tests/test_other.py::test_is_uuid_false[other1-dirty1] PASSED tests/test_other.py::test_is_uuid_false[edf9f29e-45c7-431c-99db-28ea44df9785-dirty2] PASSED tests/test_other.py::test_is_uuid_false[other3-dirty3] PASSED tests/test_other.py::test_is_uuid_false[other4-dirty4] PASSED tests/test_other.py::test_is_uuid_false[edf9f29e-45c7-431c-99db-28ea44df9785-dirty5] PASSED tests/test_other.py::test_is_uuid_false[ea9e828d-fd18-3898-99f3-5a46dbcee036-dirty6] PASSED tests/test_other.py::test_is_uuid_false_repr PASSED tests/test_other.py::test_is_uuid4_false_repr PASSED tests/test_other.py::test_is_json_any_true[null] PASSED tests/test_other.py::test_is_json_any_true["xyz"] PASSED tests/test_other.py::test_is_json_any_true[[1, 2, 3]] PASSED tests/test_other.py::test_is_json_any_true[{"a": 1}] PASSED tests/test_other.py::test_is_json_any_false PASSED tests/test_other.py::test_is_json_specific_true[null-None] PASSED tests/test_other.py::test_is_json_specific_true["xyz"-xyz] PASSED tests/test_other.py::test_is_json_specific_true[[1, 2, 3]-expected_value2] PASSED tests/test_other.py::test_is_json_specific_true[{"a": 1}-expected_value3] PASSED tests/test_other.py::test_is_json_invalid PASSED tests/test_other.py::test_is_json_kwargs PASSED tests/test_other.py::test_is_json_specific_false PASSED tests/test_other.py::test_equals_function PASSED tests/test_other.py::test_equals_function_fail PASSED tests/test_other.py::test_json_both PASSED tests/test_other.py::test_is_ip_true[other0-dirty0] PASSED tests/test_other.py::test_is_ip_true[other1-dirty1] PASSED tests/test_other.py::test_is_ip_true[other2-dirty2] PASSED tests/test_other.py::test_is_ip_true[other3-dirty3] PASSED tests/test_other.py::test_is_ip_true[2001:0db8:0a0b:12f0:0000:0000:0000:0001-dirty4] PASSED tests/test_other.py::test_is_ip_true[179.27.154.96-IsIP] PASSED tests/test_other.py::test_is_ip_true[43.62.123.119-dirty6] PASSED tests/test_other.py::test_is_ip_true[::ffff:2b3e:7b77-dirty7] PASSED tests/test_other.py::test_is_ip_true[0:0:0:0:0:ffff:2b3e:7b77-dirty8] PASSED tests/test_other.py::test_is_ip_true[54.43.53.219/10-dirty9] PASSED tests/test_other.py::test_is_ip_true[::ffff:aebf:d473/12-dirty10] PASSED tests/test_other.py::test_is_ip_true[2001:0db8:0a0b:12f0:0000:0000:0000:0001-dirty11] PASSED tests/test_other.py::test_is_ip_true[3232235521-dirty12] PASSED tests/test_other.py::test_is_ip_true[\xc0\xa8\x00\x01-dirty13] PASSED tests/test_other.py::test_is_ip_true[338288524927261089654018896845572831328-dirty14] PASSED tests/test_other.py::test_is_ip_true[ \x01\x06X\x02*\xca\xfe\x02\x00\x00\x00\x00\x00\x00\x01-dirty15] PASSED tests/test_other.py::test_is_ip_false[foobar-dirty0] PASSED tests/test_other.py::test_is_ip_false[other1-dirty1] PASSED tests/test_other.py::test_is_ip_false[210.115.28.193-dirty2] PASSED tests/test_other.py::test_is_ip_false[::ffff:d273:1cc1-dirty3] PASSED tests/test_other.py::test_is_ip_false[210.115.28.193/12-dirty4] PASSED tests/test_other.py::test_is_ip_false[::ffff:d273:1cc1-dirty5] PASSED tests/test_other.py::test_is_ip_false[3232235521-dirty6] PASSED tests/test_other.py::test_is_ip_false[338288524927261089654018896845572831328-dirty7] PASSED tests/test_other.py::test_not_ip_repr PASSED tests/test_other.py::test_ip_bad_netmask PASSED tests/test_other.py::test_is_hash_true[f1e069787ECE74531d112559945c6871-dirty0] PASSED tests/test_other.py::test_is_hash_true[40bd001563085fc35165329ea1FF5c5ecbdbbeef-dirty1] PASSED tests/test_other.py::test_is_hash_true[a665a45920422f9d417e4867eFDC4fb8a04a1f3fff1fa07e998e86f7f7a27ae3-dirty2] PASSED tests/test_other.py::test_is_hash_true[f1e069787ECE74531d112559945c6871-dirty3] PASSED tests/test_other.py::test_is_hash_true[other4-dirty4] PASSED tests/test_other.py::test_is_hash_false[foobar-dirty0] PASSED tests/test_other.py::test_is_hash_false[\x81 UnicodeDecodeError-dirty1] PASSED tests/test_other.py::test_is_hash_false[other2-dirty2] PASSED tests/test_other.py::test_is_hash_false[f1e069787ECE74531d112559945c6871d-dirty3] PASSED tests/test_other.py::test_is_hash_false[400bd001563085fc35165329ea1FF5c5ecbdbbeef-dirty4] PASSED tests/test_other.py::test_is_hash_false[a665a45920422g9d417e4867eFDC4fb8a04a1f3fff1fa07e998e86f7f7a27ae3-dirty5] PASSED tests/test_other.py::test_is_hash_md5_false_repr[md5] PASSED tests/test_other.py::test_is_hash_md5_false_repr[sha-1] PASSED tests/test_other.py::test_is_hash_md5_false_repr[sha-256] PASSED tests/test_other.py::test_hashlib_hashes[openssl_md5-md5] PASSED tests/test_other.py::test_hashlib_hashes[openssl_sha1-sha-1] PASSED tests/test_other.py::test_hashlib_hashes[openssl_sha256-sha-256] PASSED tests/test_other.py::test_wrong_hash_type PASSED tests/test_other.py::test_is_url_true[https://example.com-IsUrl] PASSED tests/test_other.py::test_is_url_true[https://example.com-dirty1] PASSED tests/test_other.py::test_is_url_true[postgres://user:pass@localhost:5432/app-dirty2] PASSED tests/test_other.py::test_is_url_false[https://example.com-dirty0] PASSED tests/test_other.py::test_is_url_false[https://example.com-dirty1] PASSED tests/test_other.py::test_is_url_false[definitely not a url-IsUrl] PASSED tests/test_other.py::test_is_url_false[42-IsUrl] PASSED tests/test_other.py::test_is_url_false[https://anotherexample.com-dirty4] PASSED tests/test_other.py::test_is_url_invalid_kwargs PASSED tests/test_other.py::test_is_url_too_many_url_types PASSED tests/test_other.py::test_is_dataclass_type_true[Foo-IsDataclassType] PASSED tests/test_other.py::test_is_dataclass_type_true[Foo-dirty1] PASSED tests/test_other.py::test_is_dataclass_type_false[other0-IsDataclassType] PASSED tests/test_other.py::test_is_dataclass_type_false[other1-dirty1] PASSED tests/test_other.py::test_is_dataclass_type_false[Foo-IsDataclass] PASSED tests/test_other.py::test_is_dataclass_true[other0-IsDataclass] PASSED tests/test_other.py::test_is_dataclass_true[other1-dirty1] PASSED tests/test_other.py::test_is_dataclass_true[other2-dirty2] PASSED tests/test_other.py::test_is_dataclass_true[other3-dirty3] PASSED tests/test_other.py::test_is_dataclass_true[other4-dirty4] PASSED tests/test_other.py::test_is_dataclass_true[other5-dirty5] PASSED tests/test_other.py::test_is_dataclass_true[other6-dirty6] PASSED tests/test_other.py::test_is_dataclass_true[other7-dirty7] PASSED tests/test_other.py::test_is_dataclass_true[other8-dirty8] PASSED tests/test_other.py::test_is_dataclass_true[other9-dirty9] PASSED tests/test_other.py::test_is_dataclass_true[other10-dirty10] PASSED tests/test_other.py::test_is_dataclass_false[other0-IsDataclassType] PASSED tests/test_other.py::test_is_dataclass_false[Foo-IsDataclass] PASSED tests/test_other.py::test_is_dataclass_false[other2-dirty2] PASSED tests/test_other.py::test_is_dataclass_false[other3-dirty3] PASSED tests/test_other.py::test_is_dataclass_false[other4-dirty4] PASSED tests/test_other.py::test_is_dataclass_false[other5-dirty5] PASSED tests/test_other.py::test_is_dataclass_false[other6-dirty6] PASSED tests/test_other.py::test_is_enum_true[FooEnum.a-IsEnum] PASSED tests/test_other.py::test_is_enum_true[FooEnum.b-dirty1] PASSED tests/test_other.py::test_is_enum_true[2-dirty2] PASSED tests/test_other.py::test_is_enum_true[c-dirty3] PASSED tests/test_other.py::test_is_enum_false[FooEnum-IsEnum] PASSED tests/test_other.py::test_is_enum_false[FooEnum-dirty1] PASSED tests/test_other.py::test_is_enum_false[4-dirty2] PASSED tests/test_strings.py::test_dirty_equals_true[foo-IsStr-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty1-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo-IsStr-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty3-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty4-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty5-True] PASSED tests/test_strings.py::test_dirty_equals_true[Foo-dirty6-True] PASSED tests/test_strings.py::test_dirty_equals_true[Foo-dirty7-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty8-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty9-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo\nbar-dirty10-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo\nbar-dirty11-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty12-True] PASSED tests/test_strings.py::test_dirty_equals_true[fo-dirty13-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty14-True] PASSED tests/test_strings.py::test_dirty_equals_true[foobar-dirty15-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty16-True] PASSED tests/test_strings.py::test_dirty_equals_true[FOO-dirty17-False] PASSED tests/test_strings.py::test_dirty_equals_true[FOO-dirty18-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty19-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-IsBytes-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty21-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo-IsBytes-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty23-True] PASSED tests/test_strings.py::test_dirty_equals_true[Foo-dirty24-True] PASSED tests/test_strings.py::test_dirty_equals_true[Foo-dirty25-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty26-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty27-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo\nbar-dirty28-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo\nbar-dirty29-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty30-True] PASSED tests/test_strings.py::test_dirty_equals_true[fo-dirty31-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-IsAnyStr-True0] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty33-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo-IsAnyStr-True1] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty35-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty36-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty37-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty38-True] PASSED tests/test_strings.py::test_dirty_equals_true[Foo-dirty39-True] PASSED tests/test_strings.py::test_dirty_equals_true[Foo-dirty40-True] PASSED tests/test_strings.py::test_dirty_equals_true[Foo-dirty41-True] PASSED tests/test_strings.py::test_dirty_equals_true[Foo-dirty42-True] PASSED tests/test_strings.py::test_dirty_equals_true[Foo-dirty43-True] PASSED tests/test_strings.py::test_dirty_equals_true[Foo-dirty44-True] PASSED tests/test_strings.py::test_dirty_equals_true[Foo-dirty45-True] PASSED tests/test_strings.py::test_dirty_equals_true[Foo-dirty46-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo\nbar-dirty47-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo\nbar-dirty48-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty49-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty50-False] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty51-True] PASSED tests/test_strings.py::test_dirty_equals_true[foo-dirty52-True] PASSED tests/test_strings.py::test_dirty_equals_true[fo-dirty53-False] PASSED tests/test_strings.py::test_regex_true PASSED tests/test_strings.py::test_regex_bytes_true PASSED tests/test_strings.py::test_regex_false PASSED tests/test_strings.py::test_regex_false_type_error PASSED tests/test_strings.py::test_is_any_str PASSED ======== 550 passed ========