def test_TableBundle_unique(): """ Verify that unique() is functioning as expected """ bundle1 = TableBundle(parse_blocks(cell_rows)) # bundle1 now contains one 'foo' and one 'infs' assert len(bundle1) == 2 with pytest.raises(LookupError): tab = bundle1.unique("-not there-") tab = bundle1.unique("foo") assert tab.name == "foo" tab = bundle1.unique("infs") assert tab.name == "infs" cells2 = [] cells2.extend(cell_rows) cells2.extend([]) cells2.extend(cell_rows) bundle2 = TableBundle(parse_blocks(cells2)) # bundle2 now contains two 'foo' and two 'infs' assert len(bundle2) == 4 with pytest.raises(LookupError): tab = bundle2.unique("-not there-") with pytest.raises(LookupError): tab = bundle2.unique("foo") with pytest.raises(LookupError): tab = bundle2.unique("infs")
def test_TableBundle_from_file(): """ Verify that TableBundle can be generated from top level API methods: read_csv, read_excel """ input_file = input_dir() / "bundle.csv" bundle = TableBundle(read_csv(input_file), as_dataframe=True) assert bundle is not None assert len(bundle) == 3 assert isinstance(bundle[0], TableDataFrame) assert bundle.unique("spelling_numbers").spelling[1] == "six" assert bundle[1].spelling[0] == "one" assert len(bundle.all("places_to_go")) == 2 bundle = TableBundle(read_csv(input_file), as_dataframe=False) assert bundle is not None assert len(bundle) == 3 assert isinstance(bundle[1], Table) assert bundle.spelling_numbers["spelling"].values[0] == "one" assert len(bundle.all("places_to_go")) == 2 input_file = input_dir() / "bundle.xlsx" bundle = TableBundle(read_excel(input_file), as_dataframe=False) assert bundle is not None assert len(bundle) == 3 assert isinstance(bundle[1], Table) assert bundle.spelling_numbers["spelling"].values[0] == "one" assert len(bundle.all("places_to_go")) == 2 bundle = TableBundle(read_excel(input_file), as_dataframe=True) assert bundle is not None assert len(bundle) == 3 assert isinstance(bundle[0], TableDataFrame) assert bundle.unique("spelling_numbers").spelling[1] == "six" assert bundle[1].spelling[0] == "one" assert len(bundle.all("places_to_go")) == 2