Exemple #1
0
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))
Exemple #2
0
 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)
Exemple #3
0
 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)
Exemple #4
0
 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)
Exemple #5
0
    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)
Exemple #6
0
    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)
Exemple #7
0
    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)
Exemple #8
0
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))
Exemple #9
0
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)
Exemple #10
0
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)
                                 )
Exemple #12
0
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)
    )
Exemple #13
0
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))
Exemple #14
0
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)
Exemple #15
0
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)
Exemple #16
0
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)
Exemple #17
0
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)
    )
Exemple #18
0
def is_file_matcher_reference_to(symbol_name: str) -> ValueAssertion:
    return asrt_sym_usage.matches_reference(asrt.equals(symbol_name),
                                            IS_FILE_REFERENCE_RESTRICTION)
Exemple #19
0
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)
Exemple #20
0
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)