def _do_test(values: List[str], expected: List[Composite]): the_filter: Filter = ContainsOneOf(None, schema, "t_text", values=values, narrows=False) f_iter: Callable = InMemoryFilterIterator([the_filter]) actual: List[Composite] = list(f_iter(composites)) assert actual == expected
def _do_test(values: List[str], keys: List[Set[str]]): expected: List[Composite] = [] for i, i_keys in enumerate(keys): content: Dict = {} for key in i_keys: content[key] = composites[i].content[key] composite: Composite = Composite( schema, content, composite_id=composites[i].composite_id) expected.append(composite) the_filter: Filter = ContainsOneOf(None, schema, "t_text", values, filters=False) f_iter: Callable = InMemoryFilterIterator([the_filter]) actual: List[Composite] = list(f_iter(composites)) assert actual == expected
def test_values_from_file(schema, composites, get_file_name, case_name) -> None: file_name: str = get_file_name(case_name) keys: List[Set[str]] = [ {"period_1", "period_2", "immutable"}, {"immutable"} ] expected: List[Composite] = [] for i, i_keys in enumerate(keys): content: Dict = {} for key in i_keys: content[key] = composites[i].content[key] composite: Composite = Composite(schema, content, composite_id=composites[i].composite_id) expected.append(composite) the_filter: Filter = ContainsOneOf(None, schema, "t_text", file_name=file_name, filters=False) f_iter: Callable = InMemoryFilterIterator([the_filter]) actual: List[Composite] = list(f_iter(composites)) assert actual == expected
def test_non_existent_file_raises(schema, basepath) -> None: file_name: str = "/path/to/file/that/does/not/exist" if os.path.exists(file_name): pytest.fail("{} actually exists. Can't run test.".format(file_name)) with pytest.raises(FileNotFoundError): ContainsOneOf(None, schema, "t_text", file_name=file_name, filters=False)
def test_corrupt_file_raises(schema, get_file_name, case_name) -> None: file_name: str = get_file_name(case_name) with pytest.raises(ValueError): ContainsOneOf(None, schema, "t_text", file_name=file_name, filters=False)