def is_reference_to_files_condition( symbol_name: str) -> Assertion[SymbolReference]: return asrt.is_instance_with( SymbolReference, asrt_sym_usage.matches_reference( asrt.equals(symbol_name), IS_FILES_CONDITION_REFERENCE_RESTRICTION))
def test_fail__failing_assertion_on_value_restriction(self): # ARRANGE # actual_symbol_name = 'actual value name' actual = SymbolReference(actual_symbol_name, r.ReferenceRestrictionsOnDirectAndIndirect( vr.ArbitraryValueWStrRenderingRestriction.of_any())) assertion = symbol_usage_assertions.matches_reference( assertion_on_restrictions=asrt.is_instance(r.OrReferenceRestrictions)) assert_that_assertion_fails(assertion, actual)
def test_fail__different_name(self): # ARRANGE # actual = SymbolReference('actual value name', r.ReferenceRestrictionsOnDirectAndIndirect( vr.ArbitraryValueWStrRenderingRestriction.of_any())) assertion = symbol_usage_assertions.matches_reference( asrt.equals('expected value name'), asrt.anything_goes()) assert_that_assertion_fails(assertion, actual)
def test_pass_with_default_assertion_on_restrictions(self): # ARRANGE # symbol_name = 'symbol name' symbol_reference = SymbolReference(symbol_name, r.ReferenceRestrictionsOnDirectAndIndirect( vr.ArbitraryValueWStrRenderingRestriction.of_any())) assertion = symbol_usage_assertions.matches_reference( asrt.is_(symbol_name)) # ACT & ASSERT # assertion.apply_without_message(self, symbol_reference)
def test_references_of_transformer_and_matcher_resolver_SHOULD_be_reported(self): # ARRANGE # trans_ref_info = NameAndValue('THE_TRANSFORMER', ValueType.STRING_TRANSFORMER) matcher_ref_info = NameAndValue('THE_MATCHER', ValueType.STRING_MATCHER) expected_references = asrt.matches_sequence([ asrt_sym_usage.matches_reference(asrt.equals(trans_ref_info.name), is_value_type_restriction(trans_ref_info.value)), asrt_sym_usage.matches_reference(asrt.equals(matcher_ref_info.name), is_value_type_restriction(matcher_ref_info.value)), ]) resolver = sut.new_with_transformation( StringTransformerReference(trans_ref_info.name), sut.new_reference(matcher_ref_info.name, ExpectationType.POSITIVE), ) # ACT # actual = resolver.references # ASSERT # expected_references.apply_without_message(self, actual)
def test_references_from_assertion_part_SHOULD_be_reported(self): # ARRANGE # ref_1_info = NameAndValue('ref 1', ValueType.FILE_MATCHER) ref_1 = SymbolReference(ref_1_info.name, ValueTypeRestriction.of_single(ref_1_info.value)) expected_references = asrt.matches_sequence([ asrt_sym_usage.matches_reference(asrt.equals(ref_1_info.name), is_reference_restrictions__value_type__single(ref_1_info.value)), ]) assertion_part_with_references = PartWithReference([ref_1]) instruction = sut.AssertionInstructionFromAssertionPart(assertion_part_with_references, lambda env: 'not used in this test') # ACT # actual = instruction.symbol_usages() # ASSERT # expected_references.apply_without_message(self, actual)
def test_references_from_assertion_part_SHOULD_be_reported(self): # ARRANGE # ref_1_info = NameAndValue('ref 1', ValueType.FILE_MATCHER) ref_1 = SymbolReference(ref_1_info.name, ValueTypeRestriction(ref_1_info.value)) expected_references = asrt.matches_sequence([ asrt_sym_usage.matches_reference(asrt.equals(ref_1_info.name), is_value_type_restriction(ref_1_info.value)), ]) assertion_part_with_references = PartWithReference([ref_1]) instruction = sut.AssertionInstructionFromAssertionPart(assertion_part_with_references, 'custom environment', lambda env: 'not used in this test') # ACT # actual = instruction.symbol_usages() # ASSERT # expected_references.apply_without_message(self, actual)
def is_reference_to_line_matcher( symbol_name: str) -> Assertion[SymbolReference]: return asrt.is_instance_with( SymbolReference, asrt_sym_usage.matches_reference( asrt.equals(symbol_name), IS_LINE_MATCHER_REFERENCE_RESTRICTION))
def is_string_made_up_of_just_strings_reference_to(name_of_symbol: str) -> ValueAssertion: return asrt_sym_usage.matches_reference(asrt.equals(name_of_symbol), IS_STRING_MADE_UP_OF_JUST_STRINGS_REFERENCE_RESTRICTION)
def is_reference_to_string_transformer(name_of_transformer: str) -> Assertion[SymbolReference]: return asrt.is_instance_with(SymbolReference, asrt_sym_usage.matches_reference(asrt.equals(name_of_transformer), IS_STRING_TRANSFORMER_REFERENCE_RESTRICTION) )
def is_reference_to_string_transformer__ref(name_of_transformer: str) -> ValueAssertion[SymbolReference]: return asrt.is_instance_with(SymbolReference, asrt_sym_usage.matches_reference(asrt.equals(name_of_transformer), IS_STRING_TRANSFORMER_REFERENCE_RESTRICTION) )
def is_reference_to_string_matcher__ref(name_of_matcher: str) -> ValueAssertion[su.SymbolReference]: return asrt.is_instance_with( su.SymbolReference, asrt_sym_usage.matches_reference(asrt.equals(name_of_matcher), IS_STRING_MATCHER_REFERENCE_RESTRICTION) )
def is_reference_to_program(symbol_name: str) -> Assertion[SymbolReference]: return asrt.is_instance_with( SymbolReference, asrt_sym_usage.matches_reference(asrt.equals(symbol_name), IS_PROGRAM_REFERENCE_RESTRICTION))
def is_reference_to_line_matcher__usage( symbol_name: str) -> Assertion[SymbolUsage]: return asrt_sym_usage.matches_reference( asrt.equals(symbol_name), IS_LINE_MATCHER_REFERENCE_RESTRICTION)
def is_sym_ref_to_string__w_all_indirect_refs_are_strings__usage( name_of_symbol: str) -> Assertion[SymbolUsage]: return asrt_sym_usage.matches_reference( asrt.equals(name_of_symbol), IS_REFERENCE__STRING__W_ALL_INDIRECT_REFS_ARE_STRINGS)
def is_reference_to_string_matcher__usage(name_of_matcher: str) -> Assertion[SymbolUsage]: return asrt_sym_usage.matches_reference(asrt.equals(name_of_matcher), IS_STRING_MATCHER_REFERENCE_RESTRICTION)
def is_file_matcher_reference_to__ref(symbol_name: str) -> ValueAssertion[SymbolReference]: return asrt.is_instance_with( SymbolReference, asrt_sym_usage.matches_reference(asrt.equals(symbol_name), IS_FILE_REFERENCE_RESTRICTION) )
def is_file_matcher_reference_to(symbol_name: str) -> ValueAssertion: return asrt_sym_usage.matches_reference(asrt.equals(symbol_name), IS_FILE_REFERENCE_RESTRICTION)
def is_reference_to_files_matcher(name_of_matcher: str) -> ValueAssertion[su.SymbolUsage]: return asrt_sym_usage.matches_reference(asrt.equals(name_of_matcher), IS_FILES_MATCHER_REFERENCE_RESTRICTION)
def is_reference_to_program__usage(symbol_name: str) -> Assertion[SymbolUsage]: return asrt_sym_usage.matches_reference(asrt.equals(symbol_name), IS_PROGRAM_REFERENCE_RESTRICTION)