def test_one_record(self): f = StringIO("PT\tAF\tC1\nJ\tAa; Bb\tX; Y") r = TabDelimitedReader(f) expected = {"PT": "J", "AF": "Aa; Bb", "C1": "X; Y"} assert next(r) == expected
def test_multiple_records(self): f = StringIO("PT\tAF\tC1\nJ\tAa; Bb\tX; Y\nJ\tBb; Cc\tY; Z") r = TabDelimitedReader(f) results = [result for result in r] expected = [ {"PT": "J", "AF": "Aa; Bb", "C1": "X; Y"}, {"PT": "J", "AF": "Bb; Cc", "C1": "Y; Z"}, ] assert len(results) == len(expected) for result, exp in zip(results, expected): assert result == exp
def test_wos_tabdelimited_utf8(self): with open("data/wos_tab_delimited_win_utf8.txt", encoding="utf-8-sig") as fh: r = TabDelimitedReader(fh) for record in r: assert_no_bom(record)
def test_spurious_tab_at_end(self): f = StringIO("PT\tAU\tC1\nJ\ta\tb\t") r = TabDelimitedReader(f) expected = {"PT": "J", "AU": "a", "C1": "b"} assert next(r) == expected