def test_add_answer(self): from sudoku_board import SudokuBox box = SudokuBox() box.add_answer(4) box.add_answer(5) self.assertEqual(box, SudokuBox(5)) self.assertNotEqual(box, SudokuBox(4)) with self.assertRaises(OverflowError): box.add_answer(10) with self.assertRaises(OverflowError): box.add_answer(0)
def test_add_answer_stored_in_right_location(self): from sudoku_board import SudokuBoard, SudokuBox board = SudokuBoard() board.add_answer(1, 2, 4) # board uses indexing starting at 1 instead of 0 self.assertEqual(board.get_sudoku_box(1, 2), SudokuBox(4)) with self.assertRaises(IndexError): board.add_answer(0, 0, 4)
def test__str__(self): from sudoku_board import SudokuBox box = SudokuBox() box.add_answer(4) box.add_guess(4) box.add_guess(5) self.assertEqual(box.__str__(), '4')
def test_add_guess(self): from sudoku_board import SudokuBox box = SudokuBox() box.add_guess(4) box.add_guess(5) self.assertTrue(box.answer == 0 and 5 in box.guesses and 4 in box.guesses) with self.assertRaises(OverflowError): box.add_guess(10) with self.assertRaises(OverflowError): box.add_guess(0)
def test_remove_guess(self): from sudoku_board import SudokuBox box = SudokuBox() box.add_guess(4) box.add_guess(5) box.remove_guess(4) self.assertTrue(box == SudokuBox() and 5 in box.guesses and not 4 in box.guesses)
def test_show_guesses(self): from sudoku_board import SudokuBox box = SudokuBox() box.add_guess(4) box.add_guess(5) self.assertEqual(box.get_guesses(), [4, 5]) self.assertNotEqual(box.get_guesses(), [4, 6])
def test_clear_guesses(self): from sudoku_board import SudokuBox box = SudokuBox() box.add_guess(4) box.add_guess(5) box.clear_guesses() self.assertFalse(bool(box.guesses))
def test__eq__(self): from sudoku_board import SudokuBox box = SudokuBox(2) self.assertEqual(box, SudokuBox(2)) self.assertNotEqual(box, SudokuBox(1))
def test_erase_answer_original_number(self): from sudoku_board import SudokuBox box = SudokuBox(4) box.erase_answer() self.assertEqual(box.answer, 4)
def test_add_answer_preloaded_number(self): from sudoku_board import SudokuBox box = SudokuBox(1) self.assertFalse(box.add_answer(2)) self.assertEqual(box, SudokuBox(1))
def test_create_box_no_parameter(self): from sudoku_board import SudokuBox box = SudokuBox() self.assertTrue(box.answer == 0 and not box.original_number and not bool(box.guesses))
def test_get_sudoku_box_number_not_between(self): from sudoku_board import SudokuBoard, SudokuBox board = SudokuBoard() board.add_answer(1, 1, 1) self.assertEqual(board.get_sudoku_box(1, 1), SudokuBox(1))
def test_erase_answer(self): from sudoku_board import SudokuBox box = SudokuBox() box.add_answer(4) box.erase_answer() self.assertEqual(box.answer, 0)