Beispiel #1
0
 def __init__(
     self,
     operands: Sequence[MatcherSdv[MODEL]],
     model_freezer: Callable[[MODEL], MODEL],
 ):
     self._operands = operands
     self._model_freezer = model_freezer
     self._references = references_from_objects_with_symbol_references(
         operands)
Beispiel #2
0
 def __init__(
     self,
     dir_path_sdv: PathSdv,
     file_maker: FileMakerSdv,
 ):
     self._dir_path_sdv = dir_path_sdv
     self._file_maker = file_maker
     self._references = references_from_objects_with_symbol_references(
         [dir_path_sdv, file_maker])
Beispiel #3
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 #4
0
 def __init__(self,
              lines_selector: Optional[LineMatcherSdv],
              preserve_new_lines: bool,
              regex: RegexSdv,
              replacement: StringSdv,
              ):
     self._lines_selector = lines_selector
     self._preserve_new_lines = preserve_new_lines
     self._regex = regex
     self._replacement = replacement
     self._references = references_from_objects_with_symbol_references(
         functional.filter_not_none([
             self._lines_selector,
             self._regex,
             self._replacement
         ]))
Beispiel #5
0
    def __init__(
        self,
        model_constructor: FullDepsWithDetailsDescriptionSdv[
            ModelConstructor[FilesMatcherModel]],
        files_matcher: FilesMatcherSdv,
    ):
        def get_ddv_validator(symbols: SymbolTable) -> DdvValidator:
            return ddv_validators.all_of([
                model_constructor.resolve(symbols).validator,
                files_matcher.resolve(symbols).validator,
            ])

        super().__init__(
            sdv_validation.SdvValidatorFromDdvValidator(get_ddv_validator))
        self._model_constructor = model_constructor
        self._files_matcher = files_matcher
        self._references = references_from_objects_with_symbol_references([
            model_constructor,
            files_matcher,
        ])
Beispiel #6
0
def model_constructor__recursive(
    min_depth: Optional[IntegerSdv],
    max_depth: Optional[IntegerSdv],
) -> FullDepsWithDetailsDescriptionSdv[ModelConstructor[FilesMatcherModel]]:
    def make_ddv(
        symbols: SymbolTable
    ) -> FullDepsWithDetailsDescriptionDdv[
            ModelConstructor[FilesMatcherModel]]:
        def get_int_ddv(x: IntegerSdv) -> IntegerDdv:
            return x.resolve(symbols)

        return _RecursiveModelConstructorDdv(
            map_optional(get_int_ddv, min_depth),
            map_optional(get_int_ddv, max_depth),
        )

    return w_details_impls.SdvFromParts(
        make_ddv,
        references_from_objects_with_symbol_references(
            filter_not_none([min_depth, max_depth])))
Beispiel #7
0
 def __init__(self, assertion_parts: Sequence[AssertionPart]):
     super().__init__(sdv_validation.AndSdvValidator([c.validator for c in assertion_parts]))
     self._assertion_parts = tuple(assertion_parts)
     self._references = references_from_objects_with_symbol_references(assertion_parts)
Beispiel #8
0
 def references(self) -> Sequence[SymbolReference]:
     objects_with_refs = list(self.stdin) + [self.arguments] + list(
         self.transformations)
     return references_from_objects_with_symbol_references(
         objects_with_refs)
Beispiel #9
0
 def references(self) -> Sequence[SymbolReference]:
     return references_from_objects_with_symbol_references(
         self._fragment_sdvs)
Beispiel #10
0
 def __init__(self, files: Sequence[FileSpecificationSdv]):
     self._files = files
     self._references = tuple(references_from_objects_with_symbol_references(files))
Beispiel #11
0
 def __init__(self, transformers: Sequence[StringTransformerSdv]):
     self.transformers = transformers
     self._references = references_from_objects_with_symbol_references(
         transformers)
 def references(self) -> Sequence[SymbolReference]:
     return references_from_objects_with_symbol_references(
         [self._command, self._accumulated_components])
Beispiel #13
0
 def references(self) -> Sequence[SymbolReference]:
     return references_from_objects_with_symbol_references([
         self._driver,
         self._arguments])