Пример #1
0
    def test_can_update(self):
        game = GameOfLife(width=self.width, height=self.height, cell_size=1)
        game.clist = self.clist

        with open('steps.txt') as f:
            steps = json.load(f)

        num_updates = 0
        for step in sorted(steps.keys(), key=int):
            with self.subTest(step=step):
                for _ in range(int(step)-num_updates):
                    game.clist = game.update_cell_list(game.clist)
                    num_updates += 1
                self.assertEqual(steps[step], game.clist)
Пример #2
0
    def test_get_neighbours_for_upper_side(self):

        game = GameOfLife(width=self.width, height=self.height, cell_size=1)

        game.clist = self.clist

        neighbours = game.get_neighbours((0, 3))

        self.assertEqual(5, len(neighbours))

        self.assertEqual(4, sum(neighbours))
Пример #3
0
    def test_get_neighbours_for_lower_right_corner(self):

        game = GameOfLife(width=self.width, height=self.height, cell_size=1)

        game.clist = self.clist

        neighbours = game.get_neighbours((5, 7))

        self.assertEqual(3, len(neighbours))

        self.assertEqual(1, sum(neighbours))