diff --git a/test_html_writer.py b/test_html_writer.py new file mode 100644 index 0000000000000000000000000000000000000000..e2a0d9fbd07cb701d9d969736a6b451a125172ac --- /dev/null +++ b/test_html_writer.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 + +import unittest +from html_writer import read_html, read_csv, csv_to_html, combine_template_with_data + +class TestHTMLWriter(unittest.TestCase): + + def setUp(self): + self.csvdata = [["First", "Last", "E-Mail"]] + self.htmldata = "<tr><td>A</td><td>B</td><td>C</td></tr>" + self.template = read_html() + + def test_read_csv_type(self): + result = read_csv("test.csv") + self.assertIsInstance(result, list) + + def test_read_csv_data(self): + result = read_csv("test.csv") + first = result[0][0] + self.assertEqual(first, "Andreas") + + def test_csv_to_html_type(self): + htmlstring = csv_to_html(self.csvdata) + self.assertIsInstance(htmlstring, str) + + def test_csv_to_html_is_table_row(self): + htmlstring = csv_to_html(self.csvdata) + self.assertIn("<tr>", htmlstring) + self.assertIn("</tr>", htmlstring) + + def test_csv_to_html_has_table_data(self): + htmlstring = csv_to_html(self.csvdata) + self.assertIn("<td>", htmlstring) + self.assertIn("</td>", htmlstring) + + def test_csv_to_html_replaced_brackets(self): + htmlstring = csv_to_html(self.csvdata) + self.assertNotIn("{}", htmlstring) + + def test_combine_template_with_data_type(self): + content = combine_template_with_data(self.template, "") + self.assertIsInstance(content, str) + + def test_combine_template_with_data_replace(self): + content = combine_template_with_data(self.template, self.htmldata) + self.assertTrue(content.startswith("<!DOCTYPE html>")) + self.assertTrue(content.endswith("</html>\n")) + self.assertNotIn("{}", content) + +if __name__ == "__main__": + unittest.main()