def test_filter_field_no_conflict(bibs, mock_init): # No modification to my_bibs nor new lists: my_bibs = [bibs["beaulieu_apj"]] new = [bibs["stodden"]] bm.filter_field(my_bibs, new, "doi", "old") assert bibs["beaulieu_apj"] in my_bibs assert bibs["stodden"] in new
def test_filter_field_take_ask2(bibs, mock_input): # Ask, keep new: my_bibs = [bibs["beaulieu_arxiv"]] new = [bibs["beaulieu_arxiv_dup"]] bm.filter_field(my_bibs, new, "eprint", "ask") assert bibs["beaulieu_arxiv_dup"] in my_bibs assert len(my_bibs) == 1 assert new == []
def test_filter_field_take_new(bibs): # Take from new: my_bibs = [bibs["beaulieu_arxiv"]] new = [bibs["beaulieu_arxiv_dup"]] bm.filter_field(my_bibs, new, "eprint", "new") assert bibs["beaulieu_arxiv_dup"] in my_bibs assert len(my_bibs) == 1 assert new == []
def test_filter_field_take_published(bibs): # Take from new, regardless of 'take' argument: my_bibs = [bibs["beaulieu_arxiv"]] new = [bibs["beaulieu_apj"]] bm.filter_field(my_bibs, new, "eprint", "old") assert bibs["beaulieu_apj"] in my_bibs assert len(my_bibs) == 1 assert new == []