class TestBoard(TestCase): def setUp(self): self.matrix = [ 9, 0, 0, 0, 8, 0, 3, 0, 0, 0, 0, 0, 2, 5, 0, 7, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 4, 0, 9, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 3, 0, 5, 6, 0, 7, 0, 5, 0, 6, 0, 4, 0, 0, 0, 0, 7, 8, 0, 3, 9, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 2, ] self.board = Board(self.matrix) self.row0 = [9, 0, 0, 0, 8, 0, 3, 0, 0] self.column0 = [9, 0, 0, 0, 0, 7, 0, 0, 3] def test_get_cell(self): assert 9 == self.board.get_cell(0, 0) assert 3 == self.board.get_cell(0, 8) assert 2 == self.board.get_cell(8, 8) def test_get_column(self): assert self.column0 == self.board.get_column(0) def test_columns(self): columns = list(self.board.columns) assert 9 == len(columns) assert self.column0 == columns[0] def test_get_row(self): assert self.row0 == self.board.get_row(0) def test_rows(self): rows = list(self.board.rows) assert 9 == len(rows) assert self.row0 == rows[0] def test_squares(self): square00 = [9, 0, 0, 0, 0, 0, 0, 2, 0] squares = list(self.board.squares) assert 9 == len(squares) assert square00 == squares[0] def get_square_by_cell(self): square00 = [9, 0, 0, 0, 0, 0, 0, 2, 0] square22 = [8, 0, 3, 0, 0, 0, 0, 0, 0] assert square00 == self.board.get_square_by_cell(2, 2) assert square22 == self.board.get_square_by_cell(7, 8)
class TestRulesHandler(TestCase): def setUp(self): self.matrix = [ 1, 2, 0, 4, 3, 4, 0, 0, 2, 1, 0, 4, 4, 3, 4, 3, ] self.board = Board(self.matrix) self.rules = RuleHandler() def test_rules(self): cell = self.board.get_cell(1, 1) assert self.rules.is_valid(self.board, cell) cell = self.board.get_cell(1, 2) assert self.rules.is_valid(self.board, cell) cell = self.board.get_cell(2, 3) assert not self.rules.is_valid(self.board, cell)
class TestRules(TestCase): def setUp(self): self.matrix = [ 1, 2, 0, 4, 3, 4, 0, 0, 2, 1, 0, 4, 4, 4, 1, 3, ] self.board = Board(self.matrix) def test_unique_in_row(self): cell = self.board.get_cell(1, 0) assert unique_in_row(self.board, cell) cell = self.board.get_cell(1, 3) assert not unique_in_row(self.board, cell) def test_unique_in_column(self): cell = self.board.get_cell(0, 1) assert unique_in_column(self.board, cell) cell = self.board.get_cell(3, 0) assert not unique_in_column(self.board, cell) def test_unique_in_square(self): cell = self.board.get_cell(1, 1) assert unique_in_square(self.board, cell) cell = self.board.get_cell(0, 3) assert not unique_in_square(self.board, cell)