#!/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()