def test_entry_set_file(files: List[str], caplog: pytest.LogCaptureFixture) -> None: """Test file setting. Args: files: a list of paths to files. caplog: the built-in pytest fixture. """ entry = Entry("Cao_2019", EXAMPLE_ENTRY_DICT) entry.file = files[0] if len(files) == 1 else files # type: ignore expected = [str(RelPath(file)) for file in files] assert entry.file == expected # check lint logging if len(files) > 1: entry.file = ", ".join(files) # type: ignore assert entry.file == expected assert ( "cobib.database.entry", 20, "Converted the field 'file' of entry 'Cao_2019' to a list. You can consider storing it " "as such directly.", ) in caplog.record_tuples
def test_search_with_file() -> None: """Test the `cobib.database.Entry.search` method with associated file.""" entry = Entry("Cao_2019", EXAMPLE_ENTRY_DICT) entry.file = EXAMPLE_YAML_FILE # type: ignore results = entry.search("Chemical", context=0) expected = [ [" journal = {Chemical Reviews},"], [" publisher = {American Chemical Society ({ACS})},"], ["journal: Chemical Reviews"], ["publisher: American Chemical Society ({ACS})"], ] for res, exp in zip(results, expected): assert res == exp