def post_sds_fails(expected_err_msg: Assertion[str] = asrt.anything_goes() ) -> 'ValidationAssertions': return ValidationAssertions( pre_sds=asrt.is_none, post_sds=asrt.is_not_none_and( asrt_text_doc.is_string_for_test(expected_err_msg)), )
def hard_error( expected: Assertion[TextRenderer] = asrt_text_doc.is_any_text(), may_depend_on_external_resources: Assertion[ StringSourceContents] = external_dependencies(), ) -> 'Expectation': return Expectation( contents=asrt.anything_goes(), may_depend_on_external_resources=may_depend_on_external_resources, hard_error=asrt.is_not_none_and(expected))
def is_header_and_value_detail( header: Assertion[ToStringObject] = asrt.anything_goes(), values: Assertion[Sequence[Detail]] = asrt.is_sequence_of( asrt.is_instance(Detail)), ) -> Assertion[Detail]: return asrt.is_instance_with__many( HeaderAndValueDetail, [ asrt.sub_component( 'header', HeaderAndValueDetail.header.fget, asrt.is_not_none_and(header), ), asrt.sub_component( 'values', HeaderAndValueDetail.values.fget, asrt.is_not_none_and(values), ), ], )
def is_tree_detail( tree: Assertion[Node[Any]] = asrt.anything_goes(), ) -> Assertion[Detail]: return asrt.is_instance_with__many( TreeDetail, [ asrt.sub_component( 'tree', TreeDetail.tree.fget, asrt.is_not_none_and(asrt.and_([_MatchesNode(), tree])), ), ], )
def is_indented_detail( details: Assertion[Sequence[Detail]] = asrt.is_sequence_of( asrt.is_instance(Detail)), ) -> Assertion[Detail]: return asrt.is_instance_with__many( IndentedDetail, [ asrt.sub_component( 'values', IndentedDetail.details.fget, asrt.is_not_none_and(details), ), ], )
def post_sds_validation_fails(expected_err_msg: ValueAssertion[str] = asrt.anything_goes() ) -> ValidationExpectation: return ValidationExpectation( pre_sds=asrt.is_none, post_sds=asrt.is_not_none_and(expected_err_msg), )
def failure_message_is_present_and_valid( ) -> Assertion[pfh.PassOrFailOrHardError]: return asrt.sub_component( 'failure message', pfh.PassOrFailOrHardError.failure_message.fget, asrt.is_not_none_and(asrt_renderer.is_renderer_of_major_blocks()))
def stdin_is_present_and_valid( expected: Assertion[StringSource] ) -> Assertion[SettingsBuilderAssertionModel]: return matches( stdin=asrt.is_not_none_and(asrt_adv_w_validation.is_valid(expected)))
def stdin_is_present_but_invalid() -> Assertion[SettingsBuilderAssertionModel]: return matches( stdin=asrt.is_not_none_and(asrt_adv_w_validation.is_invalid()))
def is_arbitrary_validation_failure() -> ValidationResultAssertion: return asrt.is_not_none_and(asrt_text_doc.is_any_text())
def assertion_from_actual( actual: Optional[str]) -> Assertion[Optional[TextRenderer]]: return (asrt.is_none if actual is None else asrt.is_not_none_and( asrt_text_doc.is_string_for_test(asrt.equals(actual))))
def mk_assertion(passes: bool) -> ValidationResultAssertion: return (asrt.is_none if passes else asrt.is_not_none_and( asrt_text_doc.is_any_text()))
def post_sds_fails__w_any_msg() -> 'ValidationAssertions': return ValidationAssertions( pre_sds=asrt.is_none, post_sds=asrt.is_not_none_and(asrt_text_doc.is_any_text()), )