summaryrefslogtreecommitdiff
path: root/tests/merging_tablesTest.py
diff options
context:
space:
mode:
authorHaidong Ji2019-03-04 20:51:19 -0600
committerHaidong Ji2019-03-04 20:51:19 -0600
commit9b38f4a68773bb08fe923136c9faeade6a9794e9 (patch)
treefba0be238082a91bf0275852038dde81779a1b30 /tests/merging_tablesTest.py
parent421f2e783af773712a5e7a799f7cbaca69ab7a21 (diff)
Merging tables done.
Not too bad since I worked it out in Java. A bit surprised that Python class is used in starter file, but I made it testable and wrote test cases. All is well.
Diffstat (limited to 'tests/merging_tablesTest.py')
-rw-r--r--tests/merging_tablesTest.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/merging_tablesTest.py b/tests/merging_tablesTest.py
new file mode 100644
index 0000000..ed83135
--- /dev/null
+++ b/tests/merging_tablesTest.py
@@ -0,0 +1,34 @@
+import unittest
+from sources import merging_tables
+
+
+class MyTestCase(unittest.TestCase):
+ def test1(self):
+ counts = [1, 1, 1, 1, 1]
+ db = merging_tables.Database(counts)
+ db.merge(4, 2)
+ self.assertEqual(2, db.max_row_count)
+ db.merge(3, 1)
+ self.assertEqual(2, db.max_row_count)
+ db.merge(3, 0)
+ self.assertEqual(3, db.max_row_count)
+ db.merge(3, 4)
+ self.assertEqual(5, db.max_row_count)
+ db.merge(2, 4)
+ self.assertEqual(5, db.max_row_count)
+
+ def test2(self):
+ counts = [10, 0, 5, 0, 3, 3]
+ db = merging_tables.Database(counts)
+ db.merge(5, 5)
+ self.assertEqual(10, db.max_row_count)
+ db.merge(4, 5)
+ self.assertEqual(10, db.max_row_count)
+ db.merge(3, 4)
+ self.assertEqual(10, db.max_row_count)
+ db.merge(2, 3)
+ self.assertEqual(11, db.max_row_count)
+
+
+if __name__ == '__main__':
+ unittest.main()