Rough, probably incomplete solved property
This commit is contained in:
parent
5ebe1f58ff
commit
3fabd4b420
2 changed files with 13 additions and 0 deletions
|
@ -66,6 +66,15 @@ class Sudoku:
|
|||
dim = self.dimension
|
||||
return (self.square(x, y) for y in range(dim) for x in range(dim))
|
||||
|
||||
@property
|
||||
def solved(self):
|
||||
expected = set(range(self.size))
|
||||
return all([
|
||||
all(expected == set(row) for row in self.rows),
|
||||
all(expected == set(col) for col in self.columns),
|
||||
all(expected == set(sqr) for sqr in self.squares)
|
||||
])
|
||||
|
||||
def square(self, x, y):
|
||||
dim = self.dimension
|
||||
if (x < 0 or x >= dim) or (y < 0 or y >= dim):
|
||||
|
|
4
test.py
4
test.py
|
@ -52,3 +52,7 @@ class Sudoku4BasicTests(Sudoku4TestCase):
|
|||
sq_list = list(sq)
|
||||
with self.subTest(sq=sq_list, ex=exsq):
|
||||
self.assertEqual(sq_list, exsq)
|
||||
|
||||
class Sudoku4SolvedTests(Sudoku4TestCase):
|
||||
def test_that_an_empty_board_is_not_solved(self):
|
||||
self.assertFalse(self.board.solved)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue