def test_permutations_valid(self): # Make sure permuted solutions are valid boards for _ in range(10): solution = gen3.get_permuted_solution() solution = gen3.array_to_str(solution) grid = StringGrid(solution) try: self.assertTrue(grid.validate()) except InvalidGrid: self.fail()
def test_validate(self): grid = StringGrid(self.grid_str) self.assertEqual(grid.validate(), True) grid = StringGrid(self.grid_str[:-1]) self.assertRaises(InvalidGrid, grid.validate) grid = StringGrid('0' * 81) self.assertRaises(InvalidGrid, grid.validate) grid = StringGrid('12333000000000000000000000000000000000000' '0000000237777777777777777777900000000000') self.assertRaises(InvalidGrid, grid.validate)
def test_completed(self): grid = StringGrid(self.grid_str) self.assertEqual(grid.completed, False) grid.data_solution = '1' * 81 self.assertEqual(grid.completed, True)
def test_apply_solutions(self): grid = StringGrid(self.grid_str) self.assertEqual(grid.data_solution, ' X X XXX X XX XX XX XX XX X X XX' 'XX X XXXXXXXX X XXXX X XX XXXXX X ') grid.apply_solutions([(4, 1), (6, '8')]) self.assertEqual(grid.data_solution, ' 1 8 XXX X XX XX XX XX XX X X XX' 'XX X XXXXXXXX X XXXX X XX XXXXX X ')