#!/usr/bin/python import unittest import main class ExamplesPart1(unittest.TestCase): def setUp(self): self.lines = [ "123 -> x", "456 -> y", "x AND y -> d", "x OR y -> e", "x LSHIFT 2 -> f", "y RSHIFT 2 -> g", "NOT x -> h", "NOT y -> i" ] def test_example1(self): lines = "\n".join(self.lines).replace("d", "a").splitlines() self.assertEqual(main.solve_partn(1, lines), 72) def test_example2(self): lines = "\n".join(self.lines).replace("e", "a").splitlines() self.assertEqual(main.solve_partn(1, lines), 507) def test_example3(self): lines = "\n".join(self.lines).replace("f", "a").splitlines() self.assertEqual(main.solve_partn(1, lines), 492) def test_example4(self): lines = "\n".join(self.lines).replace("g", "a").splitlines() self.assertEqual(main.solve_partn(1, lines), 114) def test_example5(self): lines = "\n".join(self.lines).replace("h", "a").splitlines() self.assertEqual(main.solve_partn(1, lines), 65412) def test_example6(self): lines = "\n".join(self.lines).replace("i", "a").splitlines() self.assertEqual(main.solve_partn(1, lines), 65079) def test_example7(self): lines = "\n".join(self.lines).replace("x", "a").splitlines() self.assertEqual(main.solve_partn(1, lines), 123) def test_example8(self): lines = "\n".join(self.lines).replace("y", "a").splitlines() self.assertEqual(main.solve_partn(1, lines), 456) if __name__ == "__main__": unittest.main()