Exemplo n.º 1
0
 def test_next_state(self):
     self.assertEqual(get_state(next_state(build_map(self.d))),
                      self.results[0])
     self.assertEqual(get_state(next_state(build_map(self.results[0]))),
                      self.results[1])
     self.assertEqual(get_state(next_state(build_map(self.results[1]))),
                      self.results[2])
     self.assertEqual(
         count_lights_on(next_state(build_map(self.results[1]))), 4)
Exemplo n.º 2
0
    def test_next_state(self):
        grid = [
            [False, True, False, True, False, True],
            [False, False, False, True, True, False],
            [True, False, False, False, False, True],
            [False, False, True, False, False, False],
            [True, False, True, False, False, True],
            [True, True, True, True, False, False]
        ]

        # Test after 1 step
        expected_grid = [
            [False, False, True, True, False, False],
            [False, False, True, True, False, True],
            [False, False, False, True, True, False],
            [False, False, False, False, False, False],
            [True, False, False, False, False, False],
            [True, False, True, True, False, False]
        ]


        r = day18.next_state(grid)
        self.assertEqual(r, expected_grid)

        # Test after 4 steps
        expected_grid = [
            [False, False, False, False, False, False],
            [False, False, False, False, False, False],
            [False, False, True, True, False, False],
            [False, False, True, True, False, False],
            [False, False, False, False, False, False],
            [False, False, False, False, False, False]
        ]

        r = day18.next_state(r)
        r = day18.next_state(r)
        r = day18.next_state(r)
        self.assertEqual(r, expected_grid)
Exemplo n.º 3
0
    def test_next_state_part2(self):
        grid = [
            [True, True, False, True, False, True],
            [False, False, False, True, True, False],
            [True, False, False, False, False, True],
            [False, False, True, False, False, False],
            [True, False, True, False, False, True],
            [True, True, True, True, False, True]
        ]


        # Test after 1 step
        expected_grid = [
            [True, False, True, True, False, True],
            [True, True, True, True, False, True],
            [False, False, False, True, True, False],
            [False, False, False, False, False, False],
            [True, False, False, False, True, False],
            [True, False, True, True, True, True]
        ]

        r = day18.next_state(grid, True)
        self.assertEqual(r, expected_grid)


        # Test after 5 steps
        expected_grid = [
            [True, True, False, True, True, True],
            [False, True, True, False, False, True],
            [False, True, True, False, False, False],
            [False, True, True, False, False, False],
            [True, False, True, False, False, False],
            [True, True, False, False, False, True]
        ]
        for i in range(4):
            r = day18.next_state(r, True)
        self.assertEqual(r, expected_grid)
Exemplo n.º 4
0
 def test_next_state(self):
     self.assertEqual(get_state(next_state(build_map(self.d))), self.results[0])
     self.assertEqual(get_state(next_state(build_map(self.results[0]))), self.results[1])
     self.assertEqual(get_state(next_state(build_map(self.results[1]))), self.results[2])
     self.assertEqual(count_lights_on(next_state(build_map(self.results[1]))), 4)