def test_match_with_wrong_key() -> None: """Asserts issue #1 is fixed. When `cobib.database.Entry.matches` is called with a key in the filter which does not exist in the entry, the key should be ignored and the function should return normally. """ entry = Entry("Cao_2019", EXAMPLE_ENTRY_DICT) filter_ = {("tags", False): ["test"]} assert entry.matches(filter_, or_=False)
def test_entry_matches(filter_: Dict[Tuple[str, bool], Any], or_: bool) -> None: """Test match filter. Args: filter_: a filter as explained be `cobib.database.Entry.matches`. or_: whether to use logical `OR` rather than `AND` for filter combination. """ entry = Entry("Cao_2019", EXAMPLE_ENTRY_DICT) # author must match assert entry.matches(filter_, or_=or_)