def test_normal_empty_data(self, tmpdir, table_text, filename): p_file_path = tmpdir.join(filename) with open(str(p_file_path), "w") as f: f.write(table_text) loader = ptr.MarkdownTableFileLoader(str(p_file_path)) for _tabletuple in loader.load(): raise ValueError("should not reach this line")
def test_normal_MarkdownTableFileLoader_null_tag(self, monkeypatch, value, source, expected): monkeypatch.setattr(MarkdownTableFormatter, "table_id", self.null_tag_property) loader = ptr.MarkdownTableFileLoader(source) loader.table_name = value formatter = MarkdownTableFormatter(value) formatter.accept(loader) assert formatter._make_table_name() == expected
def test_MarkdownTableFileLoader_exception(self, monkeypatch, value, source, expected): monkeypatch.setattr(MarkdownTableFormatter, "table_id", self.null_tag_property) loader = ptr.MarkdownTableFileLoader(source) loader.table_name = value formatter = MarkdownTableFormatter(source) formatter.accept(loader) with pytest.raises(expected): formatter._make_table_name()
def test_normal(self, tmpdir, test_id, table_text, filename, table_name, expected_tabledata_list): file_path = Path(str(tmpdir.join(filename))) file_path.parent.makedirs_p() with open(file_path, "w") as f: f.write(table_text) loader = ptr.MarkdownTableFileLoader(file_path) loader.table_name = table_name load = False for table_data in loader.load(): print("--- test {} ---".format(test_id)) print("\n[actual]\n{}".format(dump_tabledata(table_data))) assert table_data.in_tabledata_list(expected_tabledata_list) load = True assert load
import pytablereader as ptr import pytablewriter as ptw data_path = "data.md" reader = ptr.MarkdownTableFileLoader(data_path) for table_data in reader.load(): res = table_data csv_writer = ptw.CsvTableWriter() csv_writer.headers = res.headers csv_writer.value_matrix = res.rows with open("data.csv", "w") as f: csv_writer.stream = f csv_writer.write_table() for row in res.rows: for i, val in enumerate(row): if val == "": row[i] = None json_writer = ptw.JsonTableWriter() json_writer.headers = res.headers json_writer.value_matrix = res.rows with open("data.json", "w") as f: json_writer.stream = f json_writer.write_table()
def test_exception(self, tmpdir, filename, expected): loader = ptr.MarkdownTableFileLoader(filename) with pytest.raises(expected): for _tabletuple in loader.load(): pass