def test_it_can_move_correctly_and_raise_appropiate_exception(): puzzle = Puzzle() puzzle.board = [None,None,1,2,3,4,5,6,7,8] puzzle.move(2) assert puzzle.board == [None,1,None,2,3,4,5,6,7,8] puzzle.move(5) assert puzzle.board == [None,1,4,2,3,None,5,6,7,8] with pytest.raises(Exception): puzzle.move(1) assert puzzle.board == [None,1,4,2,3,None,5,6,7,8]
def test_it_count_tries_correctly(): puzzle = Puzzle() puzzle.board = [None,None,1,2,3,4,5,6,7,8] assert puzzle.tries == 0 puzzle.move(2) assert puzzle.tries == 1 puzzle.move(5) assert puzzle.tries == 2 with pytest.raises(Exception): puzzle.move(1) assert puzzle.tries == 2
os.system('cls' if os.name == 'nt' else 'clear') print("tries: " + str(puzzle.tries)) for x in range(1, len(puzzle.board)): if (x % 3 == 1): print() print(puzzle.board[x], end="\t") print("\n\n\n\n\n\n") def print_win_message(puzzle, star_time): end_time = time.time() print("\n\n\n\n\n") print("You won in " + str(puzzle.tries) + " tries!") print("time played: " + str(int(end_time - star_time)) + " seconds") puzzle = Puzzle() puzzle.board = [None, 1, None, 2, 3, 4, 5, 6, 7, 8] star_time = time.time() while not (puzzle.won()): print_game_board(puzzle) try: tile = int(input("Enter a number: ")) puzzle.move(tile) except Exception as e: print(e) print_win_message(puzzle, star_time)
from Puzzle import Puzzle p = Puzzle() p.board = [None, None, 1, 2, 3, 4, 5, 6, 7, 8] p.move(2) print(p.board) p.move(5) print(p.board)
def test_it_can_check_if_player_won(): puzzle = Puzzle() assert puzzle.won() == False puzzle.board = [None,None,1,2,3,4,5,6,7,8] assert puzzle.won() == True