From 07e1fd7745637e94a2e6ae5a0def9710455f7fa9 Mon Sep 17 00:00:00 2001
From: Andreas Fischer <_@ndreas.de>
Date: Fri, 8 May 2020 13:39:56 +0200
Subject: [PATCH] Added unit tests

---
 test_html_writer.py | 51 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 test_html_writer.py

diff --git a/test_html_writer.py b/test_html_writer.py
new file mode 100644
index 0000000..e2a0d9f
--- /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()
-- 
GitLab