def test_table_empty(capsys): td = TabularData(["Col1", "Col2", "Col3"]) assert dict(td.items()) == {"Col1": [], "Col2": [], "Col3": []} assert td.columns == [[], [], []] assert td.keys() == ["Col1", "Col2", "Col3"] assert list(td) == [] assert td.Col1 == [] assert td.Col2 == [] assert td.Col3 == [] assert td[1:] == [] with pytest.raises(IndexError): _ = td[1] assert len(td) == 0 assert td.shape == (3, 0) assert td.to_csv() == """Col1,Col2,Col3\r\n""" td.render() assert capsys.readouterr() == ("", "") td.render(rich_table=True) assert capsys.readouterr() == ("", "") td.render(markdown=True) assert capsys.readouterr() == ( "| Col1 | Col2 | Col3 |\n|--------|--------|--------|\n\n", "", ) td.rename("Col1", "Col11") assert td.keys() == ["Col11", "Col2", "Col3"] td.project("Col3", "Col11") assert td.keys() == ["Col3", "Col11"]
def test_list_operations(): td = TabularData(["col1", "col2", "col3"]) td.append(["1", "2", "3"]) assert list(td) == [["1", "2", "3"]] td.extend((["11", "12", "13"], ["21", "22", "23"])) assert list(td) == [ ["1", "2", "3"], ["11", "12", "13"], ["21", "22", "23"], ] td.insert(1, ["01", "02", "03"]) assert list(td) == [ ["1", "2", "3"], ["01", "02", "03"], ["11", "12", "13"], ["21", "22", "23"], ] assert td.shape == (3, 4) assert len(td) == 4 assert td[1] == ["01", "02", "03"] assert td[1:] == [ ["01", "02", "03"], ["11", "12", "13"], ["21", "22", "23"], ] assert td[::-1] == [ ["21", "22", "23"], ["11", "12", "13"], ["01", "02", "03"], ["1", "2", "3"], ] del td[1] assert list(td) == [ ["1", "2", "3"], ["11", "12", "13"], ["21", "22", "23"], ] assert td.shape == (3, 3) td[1:3] = [["51", "52", "53"], ["61", "62", "63"]] assert list(td) == [ ["1", "2", "3"], ["51", "52", "53"], ["61", "62", "63"], ] td[1] = ["41", "42", "43"] assert td[1] == ["41", "42", "43"] del td[1:3] assert td.shape == (3, 1) assert td.to_csv() == "col1,col2,col3\r\n1,2,3\r\n"