Beispiel #1
0
def sdv__str(glob_pattern: StringSdv) -> MatcherSdv[str]:
    def make_ddv(symbols: SymbolTable) -> FileMatcherDdv:
        return MatchesGlobPatternDdv(_match_str, glob_pattern.resolve(symbols))

    return sdv_components.MatcherSdvFromParts(
        glob_pattern.references,
        make_ddv,
    )
Beispiel #2
0
def sdv(string_matcher: StringMatcherSdv) -> LineMatcherSdv:
    def make_ddv(symbols: SymbolTable) -> LineMatcherDdv:
        return _LineContentsMatcherDdv(string_matcher.resolve(symbols))

    return sdv_components.MatcherSdvFromParts(
        string_matcher.references,
        make_ddv,
    )
Beispiel #3
0
def sdv(
    run_conf: RunConfiguration[MODEL],
    program: ProgramSdv,
) -> MatcherSdv[MODEL]:
    def make_ddv(symbols: SymbolTable) -> MatcherSdv[MODEL]:
        return _Ddv(run_conf, program.resolve(symbols))

    return sdv_components.MatcherSdvFromParts(
        program.references,
        make_ddv,
    )
Beispiel #4
0
def sdv(is_full_match: bool, contents_matcher: RegexSdv) -> StringMatcherSdv:
    def get_ddv(symbols: SymbolTable) -> StringMatcherDdv:
        regex_ddv = contents_matcher.resolve(symbols)
        regex_matcher = matches_regex.MatchesRegexDdv(regex_ddv, is_full_match)
        return property_matcher.PropertyMatcherDdv(
            regex_matcher,
            property_getters.PropertyGetterDdvConstant(_PropertyGetter(), ),
            property_matcher_describers.IdenticalToMatcher(),
        )

    return sdv_components.MatcherSdvFromParts(contents_matcher.references,
                                              get_ddv)
Beispiel #5
0
def sdv(
    names: NamesSetup,
    model_constructor: FullDepsWithDetailsDescriptionSdv[
        ModelConstructor[CONTENTS_MATCHER_MODEL]],
    contents_matcher: MatcherSdv[CONTENTS_MATCHER_MODEL],
) -> FileMatcherSdv:
    def make_ddv(symbols: SymbolTable) -> FileMatcherDdv:
        return _FileContentsMatcherDdv(names,
                                       model_constructor.resolve(symbols),
                                       contents_matcher.resolve(symbols))

    return sdv_components.MatcherSdvFromParts(
        references_from_objects_with_symbol_references(
            (model_constructor, contents_matcher)),
        make_ddv,
    )
Beispiel #6
0
def sdv_from_parts(
    references: Sequence[SymbolReference],
    validator: DdvValidator,
    matcher: Callable[[SymbolTable, TestCaseDs], MatcherWTrace[MODEL]],
) -> MatcherSdv[MODEL]:
    def make_ddv(symbols: SymbolTable) -> FileMatcherDdv:
        def make_primitive(tcds: TestCaseDs) -> FileMatcher:
            return matcher(symbols, tcds)

        return MatcherDdvFromPartsTestImpl(
            make_primitive,
            validator,
        )

    return sdv_components.MatcherSdvFromParts(
        references,
        make_ddv,
    )