#!/usr/bin/python

import unittest

import main



class ExamplesPart1(unittest.TestCase):
    def test_example1(self):
        lines = ["turn on 0,0 through 999,999"]
        self.assertEqual(main.solve_partn(1, lines), 1000000)

    def test_example2(self):
        lines = ["turn on 0,0 through 999,999", "toggle 0,0 through 999,0"]
        self.assertEqual(main.solve_partn(1, lines), 999000)

    def test_example3(self):
        lines = ["turn on 0,0 through 999,999", "turn off 499,499 through 500,500"]
        self.assertEqual(main.solve_partn(1, lines), 999996)



class ExamplesPart2(unittest.TestCase):
    def test_example1(self):
        lines = ["turn on 0,0 through 0,0"]
        self.assertEqual(main.solve_partn(2, lines), 1)

    def test_example2(self):
        lines = ["toggle 0,0 through 999,999"]
        self.assertEqual(main.solve_partn(2, lines), 2000000)



if __name__ == "__main__":
    unittest.main()