summaryrefslogtreecommitdiff
path: root/12/test.py
diff options
context:
space:
mode:
Diffstat (limited to '12/test.py')
-rwxr-xr-x12/test.py65
1 files changed, 65 insertions, 0 deletions
diff --git a/12/test.py b/12/test.py
new file mode 100755
index 0000000..c4a2672
--- /dev/null
+++ b/12/test.py
@@ -0,0 +1,65 @@
+#!/usr/bin/python
+
+import json
+import unittest
+
+import main
+
+
+
+class ExamplesPart1(unittest.TestCase):
+ def test_example1(self):
+ data = json.loads('[1,2,3]')
+ self.assertEqual(main.solve_partn(1, data), 6)
+
+ def test_example2(self):
+ data = json.loads('{"a":2,"b":4}')
+ self.assertEqual(main.solve_partn(1, data), 6)
+
+ def test_example3(self):
+ data = json.loads('[[[3]]]')
+ self.assertEqual(main.solve_partn(1, data), 3)
+
+ def test_example4(self):
+ data = json.loads('{"a":{"b":4},"c":-1}')
+ self.assertEqual(main.solve_partn(1, data), 3)
+
+ def test_example5(self):
+ data = json.loads('{"a":[-1,1]}')
+ self.assertEqual(main.solve_partn(1, data), 0)
+
+ def test_example6(self):
+ data = json.loads('[-1,{"a":1}]')
+ self.assertEqual(main.solve_partn(1, data), 0)
+
+ def test_example7(self):
+ data = json.loads('[]')
+ self.assertEqual(main.solve_partn(1, data), 0)
+
+ def test_example8(self):
+ data = json.loads('{}')
+ self.assertEqual(main.solve_partn(1, data), 0)
+
+
+
+class ExamplesPart2(unittest.TestCase):
+ def test_example1(self):
+ data = json.loads('[1,2,3]')
+ self.assertEqual(main.solve_partn(2, data), 6)
+
+ def test_example2(self):
+ data = json.loads('[1,{"c":"red","b":2},3]')
+ self.assertEqual(main.solve_partn(2, data), 4)
+
+ def test_example3(self):
+ data = json.loads('{"d":"red","e":[1,2,3,4],"f":5}')
+ self.assertEqual(main.solve_partn(2, data), 0)
+
+ def test_example4(self):
+ data = json.loads('[1,"red",5]')
+ self.assertEqual(main.solve_partn(2, data), 6)
+
+
+
+if __name__ == "__main__":
+ unittest.main()