def elegant_solver_test(): board_start = 1 board_end = 6 boards = [] solved_boards_and_results = [] board_time = [] # Load in all boards for board_number in range(board_start, board_end + 1): file_path = 'Sudoku/Boards/board ' + str(board_number) + '.txt' boards.append(ElegantSolver.ElegantSolver(file_path)) # Print original board for board_number in range(board_start, board_end + 1): solver = boards[board_number - 1] print '\nOriginal Board ' + str(board_number) + '\n' IO.print_board(solver.board.raw_board) # Get time for all boards start_time = datetime.datetime.now() for board_number in range(board_start, board_end + 1): solver = boards[board_number - 1] start_time_board = datetime.datetime.now() print '\nSolved Board ' + str(board_number) + '\n' solved_boards_and_results.append(solver.solve()) end_time_board = datetime.datetime.now() board_time.append(end_time_board - start_time_board) # Get time for all boards end_time = datetime.datetime.now() # Calculate the difference between the start and end time for all boards diff_time = end_time - start_time # Get the time in seconds time = float(diff_time.seconds) + float(diff_time.microseconds) / float(1000000) # for board_number in range(board_start, board_end + 1): # my_time = board_time[board_number - 1] # board_time[board_number] = float(my_time.seconds) + float(my_time.microseconds) / float(1000000) # Display information to the user. print '\nTotal time' print time print '' # for board_number in range(board_start, board_end + 1): # print '\nTime for Board ' + str(board_number) # print board_time[board_number - 1] '''
def solve_board(file_path): # Load in board, and time how long it takes to solve. board = IO.load_board(file_path) start_time = datetime.datetime.now() solved_board, result = BruteForce.brute_force(board) end_time = datetime.datetime.now() # Calculate the difference between the start and end time diff_time = end_time - start_time # Get the time in seconds time = float(diff_time.seconds) + float(diff_time.microseconds) / float(1000000) # Display information to the user. print time print "\nOriginal Board\n" IO.print_board(board) print "\nSolved Board\n" IO.print_board(solved_board) return solved_board, result
def test_loadBoard(self): loaded_board = IO.load_board('Unit Test Board 1.txt') self.assertEqual(loaded_board, self.solvedBoard1)