Rough, probably incomplete solved property

This commit is contained in:
Eryn Wells 2017-10-08 08:00:45 -07:00
parent 5ebe1f58ff
commit 3fabd4b420
2 changed files with 13 additions and 0 deletions

View file

@ -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):

View file

@ -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)