Ejemplo n.º 1
0
 def __init__(self, test_case: TestCaseOfInstructions,
              action_to_check: Sequence[SymbolUsage],
              builtin_symbols: Optional[SymbolTable]):
     self._test_case = test_case
     self._action_to_check = action_to_check
     self._builtin_symbols = symbol_table.symbol_table_from_none_or_value(
         builtin_symbols)
Ejemplo n.º 2
0
 def __init__(self,
              pre_contents_population_action: TcdsAction = TcdsAction(),
              hds_contents: hds_populators.HdsPopulator = hds_populators.empty(),
              sds_contents: sds_populator.SdsPopulator = sds_populator.empty(),
              non_hds_contents: non_hds_populator.NonHdsPopulator = non_hds_populator.empty(),
              tcds_contents: tcds_populators.TcdsPopulator = tcds_populators.empty(),
              os_services: OsServices = os_services_access.new_for_current_os(),
              process_execution_settings: ProcessExecutionSettings = proc_exe_env_for_test(),
              default_environ_getter: DefaultEnvironGetter = get_empty_environ,
              post_sds_population_action: TcdsAction = TcdsAction(),
              symbols: SymbolTable = None,
              fs_location_info: FileSystemLocationInfo = ARBITRARY_FS_LOCATION_INFO,
              ):
     super().__init__(hds_contents=hds_contents,
                      process_execution_settings=process_execution_settings,
                      default_environ_getter=default_environ_getter)
     self.pre_contents_population_action = pre_contents_population_action
     self.sds_contents = sds_contents
     self.non_hds_contents = non_hds_contents
     self.tcds_contents = tcds_contents
     self.post_sds_population_action = post_sds_population_action
     self.os_services = os_services
     self.process_execution_settings = process_execution_settings
     self.symbols = symbol_table_from_none_or_value(symbols)
     self.fs_location_info = fs_location_info
Ejemplo n.º 3
0
def matches_resolver_of_program(references: ValueAssertion[Sequence[SymbolReference]],
                                resolved_program_value: ValueAssertion[DirDependentValue],
                                custom: ValueAssertion[ProgramResolver] = asrt.anything_goes(),
                                symbols: SymbolTable = None) -> ValueAssertion[rs.SymbolValueResolver]:
    return matches_resolver(is_resolver_of_program_type(),
                            references,
                            asrt.is_instance_with(ProgramValue, resolved_program_value),
                            custom,
                            symbol_table_from_none_or_value(symbols))
Ejemplo n.º 4
0
def matches_resolver_of_line_matcher(references: ValueAssertion[Sequence[SymbolReference]],
                                     resolved_value: ValueAssertion[LineMatcherValue],
                                     custom: ValueAssertion[LineMatcherResolver] = asrt.anything_goes(),
                                     symbols: SymbolTable = None) -> ValueAssertion[rs.SymbolValueResolver]:
    return matches_resolver(is_resolver_of_line_matcher_type(),
                            references,
                            asrt.is_instance_with(LineMatcherValue, resolved_value),
                            custom,
                            symbol_table_from_none_or_value(symbols))
Ejemplo n.º 5
0
 def __init__(self,
              sds_contents_before: sds_populator.SdsPopulator = sds_populator.empty(),
              pre_contents_population_action: SdsAction = SdsAction(),
              pre_action_action: SdsAction = SdsAction(),
              symbols: SymbolTable = None):
     self.pre_contents_population_action = pre_contents_population_action
     self.sds_contents_before = sds_contents_before
     self.pre_action_action = pre_action_action
     self.symbols = symbol_table_from_none_or_value(symbols)
Ejemplo n.º 6
0
def matches_sdv_of_path(
        references: Assertion[Sequence[SymbolReference]],
        ddv: Assertion[PathDdv],
        custom: Assertion[PathSdv] = asrt.anything_goes(),
        symbols: Optional[SymbolTable] = None
) -> Assertion[SymbolDependentValue]:
    return matches_sdv(asrt.is_instance(PathSdv), references,
                       asrt.is_instance_with(PathDdv, ddv), custom,
                       symbol_table_from_none_or_value(symbols))
Ejemplo n.º 7
0
def matches_regex_resolver(
        primitive_value: Callable[[HomeAndSds], ValueAssertion[Pattern]] = lambda tcds: asrt.anything_goes(),
        references: ValueAssertion[Sequence[SymbolReference]] = asrt.is_empty_sequence,
        dir_dependencies: DirDependencies = DirDependencies.NONE,
        validation: ValidationExpectation = all_validations_passes(),
        symbols: symbol_table.SymbolTable = None,
        tcds: HomeAndSds = fake_home_and_sds(),
) -> ValueAssertion[RegexResolver]:
    symbols = symbol_table.symbol_table_from_none_or_value(symbols)

    def resolve_value(resolver: RegexResolver):
        return resolver.resolve(symbols)

    def on_resolve_primitive_value(tcds_: HomeAndSds) -> ValueAssertion[Pattern]:
        return asrt.is_instance_with(RE_PATTERN_TYPE,
                                     primitive_value(tcds_))

    resolved_value_assertion = matches_multi_dir_dependent_value(
        dir_dependencies,
        on_resolve_primitive_value,
        tcds,
    )

    def validation_is_successful(value: RegexValue) -> bool:
        validator = value.validator()
        return (validator.validate_pre_sds_if_applicable(tcds.hds) is None and
                validator.validate_post_sds_if_applicable(tcds) is None)

    return asrt.is_instance_with(
        RegexResolver,
        asrt.and_([
            asrt.sub_component(
                'references',
                resolver_structure.get_references,
                references),

            asrt.sub_component(
                'resolved value',
                resolve_value,
                asrt.and_([
                    asrt.sub_component(
                        'validator',
                        lambda value: value.validator(),
                        asrt.is_instance_with(PreOrPostSdsValueValidator,
                                              PreOrPostSdsValueValidationAssertion(
                                                  tcds,
                                                  validation))
                    ),
                    asrt.if_(
                        validation_is_successful,
                        resolved_value_assertion
                    ),
                ]),
            )
        ])
    )
Ejemplo n.º 8
0
 def test_symbol_table_from_none_or_value_SHOULD_give_given_table_WHEN_argument_is_not_none(self):
     # ARRANGE #
     symbol = NameAndValue('symbol name',
                           ASymbolTableValue('symbol value'))
     symbol_table = sut.singleton_symbol_table(sut.Entry(symbol.name,
                                                         symbol.value))
     # ACT #
     actual = sut.symbol_table_from_none_or_value(symbol_table)
     # ASSERT #
     _assert_table_contains_single_value(self, actual, symbol)
Ejemplo n.º 9
0
def matches_resolver(resolver_type: ValueAssertion[rs.SymbolValueResolver],
                     references: ValueAssertion[Sequence[SymbolReference]],
                     resolved_value: ValueAssertion,
                     custom: ValueAssertion[rs.SymbolValueResolver] = asrt.anything_goes(),
                     symbols: SymbolTable = None) -> ValueAssertion[rs.SymbolValueResolver]:
    return _MatchesSymbolValueResolver(resolver_type,
                                       references,
                                       resolved_value,
                                       custom,
                                       symbol_table_from_none_or_value(symbols))
Ejemplo n.º 10
0
def matches_sdv(sdv_type: Assertion[SymbolDependentValue],
                references: Assertion[Sequence[SymbolReference]],
                resolved_value: Assertion[DirDependentValue],
                custom: Assertion[SymbolDependentValue] = asrt.anything_goes(),
                symbols: Optional[SymbolTable] = None) -> Assertion[SymbolDependentValue]:
    return _MatchesSdv(sdv_type,
                       references,
                       resolved_value,
                       custom,
                       symbol_table_from_none_or_value(symbols))
Ejemplo n.º 11
0
 def __init__(self,
              sds_contents_before: sds_populator.
              SdsPopulator = sds_populator.empty(),
              pre_contents_population_action: SdsAction = SdsAction(),
              pre_action_action: SdsAction = SdsAction(),
              symbols: SymbolTable = None):
     self.pre_contents_population_action = pre_contents_population_action
     self.sds_contents_before = sds_contents_before
     self.pre_action_action = pre_action_action
     self.symbols = symbol_table_from_none_or_value(symbols)
Ejemplo n.º 12
0
 def __init__(self,
              tcds: TcdsArrangementPostAct = TcdsArrangementPostAct(),
              symbols: Optional[SymbolTable] = None,
              process_execution: ProcessExecutionArrangement = ProcessExecutionArrangement(),
              default_environ_getter: DefaultEnvironGetter = get_empty_environ,
              ):
     self.symbols = symbol_table_from_none_or_value(symbols)
     self.tcds = tcds
     self.process_execution = process_execution
     self.default_environ_getter = default_environ_getter
Ejemplo n.º 13
0
 def __init__(self,
              hds_contents: home_populators.HomePopulator = home_populators.empty(),
              environ: dict = None,
              timeout_in_seconds: int = None,
              atc_process_executor: AtcOsProcessExecutor = DEFAULT_ATC_OS_PROCESS_EXECUTOR,
              symbol_table: SymbolTable = None,
              ):
     self.hds_contents = hds_contents
     self.environ = {} if environ is None else environ
     self.timeout_in_seconds = timeout_in_seconds
     self.atc_process_executor = atc_process_executor
     self.symbol_table = symbol_table_from_none_or_value(symbol_table)
Ejemplo n.º 14
0
 def __init__(self,
              hds: HomeDs = fake_hds(),
              environ: Optional[Dict[str, str]] = None,
              timeout_in_seconds: Optional[int] = 30,
              symbols: Optional[SymbolTable] = None,
              mem_buff_size: int = 2 ** 10,
              ):
     self._hds = hds
     self._environ = environ
     self._timeout_in_seconds = timeout_in_seconds
     self._symbols = symbol_table_from_none_or_value(symbols)
     self.mem_buff_size = mem_buff_size
Ejemplo n.º 15
0
def sds_with_act_as_curr_dir(contents: sds_populator.SdsPopulator = sds_populator.empty(),
                             pre_contents_population_action: SdsAction = SdsAction(),
                             symbols: SymbolTable = None,
                             ) -> PathResolvingEnvironmentPostSds:
    with tempfile.TemporaryDirectory(prefix=program_info.PROGRAM_NAME + '-test-sds-') as sds_root_dir:
        sds = sds_module.construct_at(resolved_path_name(sds_root_dir))
        environment = PathResolvingEnvironmentPostSds(sds, symbol_table_from_none_or_value(symbols))
        with preserved_cwd():
            os.chdir(str(sds.act_dir))
            pre_contents_population_action.apply(environment)
            contents.populate_sds(sds)
            yield environment
Ejemplo n.º 16
0
def matches_sdv_of_files_condition_constant(
        references: Assertion[
            Sequence[SymbolReference]] = asrt.anything_goes(),
        primitive_value: Assertion[FilesCondition] = asrt.anything_goes(),
        symbols: SymbolTable = None) -> Assertion[SymbolDependentValue]:
    return matches_sdv(
        asrt.is_instance(FilesConditionSdv), references,
        asrt.is_instance_with(
            FilesConditionDdv,
            asrt_logic.matches_logic_ddv(lambda tcds: asrt.is_instance_with(
                FilesCondition, primitive_value))), asrt.anything_goes(),
        symbol_table_from_none_or_value(symbols))
Ejemplo n.º 17
0
def matches_sdv_of_string_transformer_constant(
        references: Assertion[
            Sequence[SymbolReference]] = asrt.anything_goes(),
        primitive_value: Assertion[StringTransformer] = asrt.anything_goes(),
        symbols: SymbolTable = None) -> Assertion[SymbolDependentValue]:
    return matches_sdv(
        asrt.is_instance(StringTransformerSdv), references,
        asrt.is_instance_with(
            StringTransformerDdv,
            asrt_logic.matches_logic_ddv(lambda tcds: asrt.is_instance_with(
                StringTransformer, primitive_value))), asrt.anything_goes(),
        symbol_table_from_none_or_value(symbols))
Ejemplo n.º 18
0
def matches_sdv_of_program(
        references: Assertion[Sequence[SymbolReference]],
        primitive_value: Callable[[TestCaseDs], Assertion[Program]],
        symbols: Optional[SymbolTable] = None
) -> Assertion[SymbolDependentValue]:
    return matches_sdv(
        asrt.is_instance(ProgramSdv), references,
        asrt.is_instance_with(
            ProgramDdv,
            asrt_logic.matches_logic_ddv(lambda tcds: asrt.is_instance_with(
                Program, primitive_value(tcds)))), asrt.anything_goes(),
        symbol_table_from_none_or_value(symbols))
Ejemplo n.º 19
0
 def __init__(
     self,
     act_phase_instructions: List[ActPhaseInstruction],
     home_act_dir_contents: DirContents = empty_dir_contents(),
     environ: Optional[Mapping[str, str]] = None,
     symbols: Optional[SymbolTable] = None,
     symbol_usages: Assertion[
         Sequence[SymbolUsage]] = asrt.is_empty_sequence,
 ):
     self.symbols = symbol_table_from_none_or_value(symbols)
     self.home_act_dir_contents = home_act_dir_contents
     self.act_phase_instructions = act_phase_instructions
     self.environ = environ
     self.symbol_usages = symbol_usages
Ejemplo n.º 20
0
def matches_matcher_sdv(
        primitive_value: Assertion[MatcherWTrace] = asrt.anything_goes(),
        references: Assertion[
            Sequence[SymbolReference]] = asrt.is_empty_sequence,
        symbols: SymbolTable = None,
        tcds: TestCaseDs = fake_tcds(),
) -> Assertion[SymbolDependentValue]:
    return matches_sdv(
        asrt.is_instance(MatcherSdv), references,
        asrt.is_instance_with(
            MatcherDdv,
            asrt_logic.matches_matcher_ddv(lambda tcds_: primitive_value,
                                           tcds)), asrt.anything_goes(),
        symbol_table_from_none_or_value(symbols))
Ejemplo n.º 21
0
 def __init__(
     self,
     tcds: Optional[TcdsArrangementPreAct] = None,
     symbols: Optional[SymbolTable] = None,
     process_execution:
     ProcessExecutionArrangement = ProcessExecutionArrangement(
         process_execution_settings=proc_exe_env_for_test()),
     atc_exe_input: AtcExeInputArr = AtcExeInputArr(),
     mem_buff_size: int = 2**10,
 ):
     self.symbol_table = symbol_table_from_none_or_value(symbols)
     self.tcds = tcds
     self.process_execution = process_execution
     self.atc_exe_input = atc_exe_input
     self.mem_buff_size = mem_buff_size
Ejemplo n.º 22
0
 def __init__(
     self,
     symbols: Optional[SymbolTable] = None,
     tcds: Optional[TcdsArrangement] = None,
     process_execution:
     ProcessExecutionArrangement = ProcessExecutionArrangement(),
     mem_buff_size: int = 2**10,
 ):
     """
     :param tcds: Not None iff TCDS is used (and must thus be created)
     """
     self.symbols = symbol_table_from_none_or_value(symbols)
     self.tcds = tcds
     self.process_execution = process_execution
     self.mem_buff_size = mem_buff_size
Ejemplo n.º 23
0
def sds_with_act_as_curr_dir(
    contents: sds_populator.SdsPopulator = sds_populator.empty(),
    pre_contents_population_action: SdsAction = SdsAction(),
    symbols: SymbolTable = None,
) -> PathResolvingEnvironmentPostSds:
    with tempfile.TemporaryDirectory(prefix=program_info.PROGRAM_NAME +
                                     '-test-sds-') as sds_root_dir:
        sds = sds_module.construct_at(resolved_path_name(sds_root_dir))
        environment = PathResolvingEnvironmentPostSds(
            sds, symbol_table_from_none_or_value(symbols))
        with preserved_cwd():
            os.chdir(str(sds.act_dir))
            pre_contents_population_action.apply(environment)
            contents.populate_sds(sds)
            yield environment
Ejemplo n.º 24
0
 def __init__(self,
              tcds: Optional[TcdsArrangement],
              os_services: OsServices,
              process_execution_settings: ProcessExecutionSettings,
              default_environ_getter: DefaultEnvironGetter,
              symbols: Optional[SymbolTable],
              fs_location_info: FileSystemLocationInfo,
              setup_settings: Optional[SetupSettingsArr],
              ):
     self.tcds = tcds
     self.os_services = os_services
     self.process_execution_settings = process_execution_settings
     self.setup_settings = setup_settings
     self.symbols = symbol_table_from_none_or_value(symbols)
     self.default_environ_getter = default_environ_getter
     self.fs_location_info = fs_location_info
Ejemplo n.º 25
0
 def __new__(
     cls,
     default_environ_getter: DefaultEnvironGetter,
     environ: Optional[Mapping[str, str]],
     timeout_in_seconds: Optional[int],
     os_services: OsServices,
     sandbox_root_dir_resolver: SandboxRootDirNameResolver,
     mem_buff_size: int,
     predefined_symbols: Optional[SymbolTable] = None,
     exe_atc_and_skip_assertions: Optional[StdOutputFiles] = None,
 ):
     return tuple.__new__(
         cls, (environ, sandbox_root_dir_resolver,
               symbol_table_from_none_or_value(predefined_symbols),
               exe_atc_and_skip_assertions, os_services, mem_buff_size,
               default_environ_getter, timeout_in_seconds))
Ejemplo n.º 26
0
def matches_string_matcher_resolver(primitive_value: ValueAssertion[StringMatcher] = asrt.anything_goes(),
                                    references: ValueAssertion = asrt.is_empty_sequence,
                                    symbols: symbol_table.SymbolTable = None,
                                    tcds: HomeAndSds = fake_home_and_sds(),
                                    ) -> ValueAssertion[LogicValueResolver]:
    symbols = symbol_table.symbol_table_from_none_or_value(symbols)

    def resolve_value(resolver: LogicValueResolver):
        return resolver.resolve(symbols)

    def resolve_primitive_value(value: StringMatcherValue):
        return value.value_of_any_dependency(tcds)

    resolved_value_assertion = asrt.is_instance_with_many(
        StringMatcherValue,
        [
            asrt.sub_component('resolving dependencies',
                               lambda sm_value: sm_value.resolving_dependencies(),
                               asrt.is_set_of(asrt.is_instance(DirectoryStructurePartition))),

            asrt.sub_component('primitive value',
                               resolve_primitive_value,
                               asrt.is_instance_with(StringMatcher,
                                                     primitive_value))
        ])

    return asrt.is_instance_with(
        StringMatcherResolver,
        asrt.and_([
            is_resolver_of_logic_type(LogicValueType.STRING_MATCHER,
                                      ValueType.STRING_MATCHER),

            asrt.sub_component('references',
                               resolver_structure.get_references,
                               references),

            asrt.sub_component('validator',
                               lambda resolver: resolver.validator,
                               asrt.is_instance(PreOrPostSdsValidator)
                               ),

            asrt.sub_component('resolved value',
                               resolve_value,
                               resolved_value_assertion
                               ),
        ])
    )
Ejemplo n.º 27
0
 def __init__(self,
              hds: HomeDs = fake_hds(),
              sds: SandboxDs = fake_sds(),
              environ: Optional[Dict[str, str]] = None,
              timeout_in_seconds: int = None,
              symbols: SymbolTable = None,
              get_paths_access_for_dir:
              Callable[[Path], DirFileSpace] = _default_get_tmp_space,
              mem_buff_size: int = 2 ** 10,
              ):
     self._hds = hds
     self._sds = sds
     self._environ = environ
     self._timeout_in_seconds = timeout_in_seconds
     self._symbols = symbol_table_from_none_or_value(symbols)
     self._get_paths_access_for_dir = get_paths_access_for_dir
     self.get_instr_tmp_file_space = lambda path: TmpFileStorage(path, get_paths_access_for_dir)
     self.mem_buff_size = mem_buff_size
Ejemplo n.º 28
0
def tcds_with_act_as_curr_dir(
        hds_contents: hds_populators.HdsPopulator = hds_populators.empty(),
        sds_contents: sds_populator.SdsPopulator = sds_populator.empty(),
        non_hds_contents: non_hds_populator.NonHdsPopulator = non_hds_populator.empty(),
        tcds_contents: tcds_populators.TcdsPopulator = tcds_populators.empty(),
        pre_contents_population_action: TcdsAction = TcdsAction(),
        symbols: SymbolTable = None) -> ContextManager[PathResolvingEnvironmentPreOrPostSds]:
    symbols = symbol_table_from_none_or_value(symbols)
    prefix = strftime(program_info.PROGRAM_NAME + '-test-%Y-%m-%d-%H-%M-%S', localtime())
    with home_directory_structure(prefix=prefix + '-home') as hds:
        with sandbox_directory_structure(prefix=prefix + "-sds-") as sds:
            tcds = TestCaseDs(hds, sds)
            ret_val = PathResolvingEnvironmentPreOrPostSds(tcds, symbols)
            with preserved_cwd():
                os.chdir(str(sds.act_dir))
                pre_contents_population_action.apply(ret_val)
                hds_contents.populate_hds(hds)
                sds_contents.populate_sds(sds)
                non_hds_contents.populate_non_hds(sds)
                tcds_contents.populate_tcds(tcds)
                yield ret_val
Ejemplo n.º 29
0
def home_and_sds_with_act_as_curr_dir(
        hds_contents: home_populators.HomePopulator = home_populators.empty(),
        sds_contents: sds_populator.SdsPopulator = sds_populator.empty(),
        non_home_contents: non_home_populator.NonHomePopulator = non_home_populator.empty(),
        home_or_sds_contents: home_and_sds_populators.HomeOrSdsPopulator = home_and_sds_populators.empty(),
        pre_contents_population_action: HomeAndSdsAction = HomeAndSdsAction(),
        symbols: SymbolTable = None) -> PathResolvingEnvironmentPreOrPostSds:
    symbols = symbol_table_from_none_or_value(symbols)
    prefix = strftime(program_info.PROGRAM_NAME + '-test-%Y-%m-%d-%H-%M-%S', localtime())
    with home_directory_structure(prefix=prefix + '-home') as hds:
        with sandbox_directory_structure(prefix=prefix + "-sds-") as sds:
            home_and_sds = HomeAndSds(hds, sds)
            ret_val = PathResolvingEnvironmentPreOrPostSds(home_and_sds, symbols)
            with preserved_cwd():
                os.chdir(str(sds.act_dir))
                pre_contents_population_action.apply(ret_val)
                hds_contents.populate_hds(hds)
                sds_contents.populate_sds(sds)
                non_home_contents.populate_non_home(sds)
                home_or_sds_contents.populate_home_or_sds(home_and_sds)
                yield ret_val
Ejemplo n.º 30
0
def matches_resolver_of_logic_type(resolver_type: type,
                                   logic_value_type: LogicValueType,
                                   value_type: ValueType,
                                   resolved_value: ValueAssertion = asrt.anything_goes(),
                                   references: ValueAssertion[Sequence[SymbolReference]] = asrt.is_empty_sequence,
                                   symbols: symbol_table.SymbolTable = None) -> ValueAssertion[Any]:
    symbols = symbol_table.symbol_table_from_none_or_value(symbols)

    def resolve_value(resolver: LogicValueResolver) -> LineMatcher:
        return resolver.resolve(symbols)

    return asrt.is_instance_with(resolver_type,
                                 asrt.and_([
                                     is_resolver_of_logic_type(logic_value_type,
                                                               value_type),

                                     asrt.on_transformed(resolve_value,
                                                         resolved_value),

                                     asrt.sub_component('references',
                                                        resolver_structure.get_references,
                                                        references),
                                 ]))
Ejemplo n.º 31
0
 def __init__(self,
              pre_contents_population_action: HomeAndSdsAction = HomeAndSdsAction(),
              hds_contents: home_populators.HomePopulator = home_populators.empty(),
              sds_contents: sds_populator.SdsPopulator = sds_populator.empty(),
              non_home_contents: non_home_populator.NonHomePopulator = non_home_populator.empty(),
              home_or_sds_contents: home_and_sds_populators.HomeOrSdsPopulator = home_and_sds_populators.empty(),
              os_services: OsServices = new_default(),
              process_execution_settings=with_no_timeout(),
              post_sds_population_action: HomeAndSdsAction = HomeAndSdsAction(),
              symbols: SymbolTable = None,
              fs_location_info: FileSystemLocationInfo = ARBITRARY_FS_LOCATION_INFO,
              ):
     super().__init__(hds_contents=hds_contents,
                      process_execution_settings=process_execution_settings)
     self.pre_contents_population_action = pre_contents_population_action
     self.sds_contents = sds_contents
     self.non_home_contents = non_home_contents
     self.home_or_sds_contents = home_or_sds_contents
     self.post_sds_population_action = post_sds_population_action
     self.os_services = os_services
     self.process_execution_settings = process_execution_settings
     self.symbols = symbol_table_from_none_or_value(symbols)
     self.fs_location_info = fs_location_info
Ejemplo n.º 32
0
 def test_symbol_table_from_none_or_value_SHOULD_give_empty_table_WHEN_argument_is_none(self):
     actual = sut.symbol_table_from_none_or_value(None)
     self.assertFalse(actual.names_set,
                      'names set should be empty')
Ejemplo n.º 33
0
 def __init__(self,
              tcds_populator: TcdsPopulator,
              symbols: SymbolTable = None):
     self.tcds_populator = tcds_populator
     self.symbols = symbol_table_from_none_or_value(symbols)
Ejemplo n.º 34
0
 def test_symbol_table_from_none_or_value_SHOULD_give_empty_table_WHEN_argument_is_none(self):
     actual = sut.symbol_table_from_none_or_value(None)
     self.assertFalse(actual.names_set,
                      'names set should be empty')
Ejemplo n.º 35
0
 def __init__(self, builtin_symbols: Optional[SymbolTable]):
     self._builtin_symbols = symbol_table.symbol_table_from_none_or_value(
         builtin_symbols)
Ejemplo n.º 36
0
 def __init__(self, symbols: Optional[SymbolTable] = None):
     self.symbols = symbol_table_from_none_or_value(symbols)