def test_solve(self): self.assertEqual(32, puzzle.solve(9, 25)) self.assertEqual(8317, puzzle.solve(10, 1618)) self.assertEqual(146373, puzzle.solve(13, 7999)) # self.assertEqual(2764, puzzle.solve(17, 1104)) self.assertEqual(54718, puzzle.solve(21, 6111)) self.assertEqual(37305, puzzle.solve(30, 5807))
def test_simple_solve(self): self.assertEqual(9, puzzle.solve({"metadata": [7, 2], "children": []})) self.assertEqual( 99, puzzle.solve({ "metadata": [1], "children": [{ "metadata": [99], "children": [] }, { "metadata": [71], "children": [] }] })) self.assertEqual( 71, puzzle.solve({ "metadata": [2], "children": [{ "metadata": [99], "children": [] }, { "metadata": [71], "children": [] }] })) self.assertEqual( 198, puzzle.solve({ "metadata": [1, 1], "children": [{ "metadata": [99], "children": [] }, { "metadata": [71], "children": [] }] })) self.assertEqual( 106, puzzle.solve({ "metadata": [1, 2], "children": [{ "metadata": [99], "children": [] }, { "metadata": [1], "children": [ { "metadata": [7], "children": [] }, ] }] }))
def test_basic_solve(self): data = [1, -2, 3, 1] self.assertEqual(2, puzzle.solve(data)) data = [+3, +3, +4, -2, -4] self.assertEqual(10, puzzle.solve(data)) data = [+1, -1] self.assertEqual(0, puzzle.solve(data)) data = [-6, +3, +8, +5, -6] self.assertEqual(5, puzzle.solve(data)) data = [+7, +7, -2, -7, -4] self.assertEqual(14, puzzle.solve(data))
def test_simple_solve(self): self.assertEqual(9, puzzle.solve({"metadata": [7, 2], "children": []})) self.assertEqual( 15, puzzle.solve({ "metadata": [7, 2], "children": [{ "metadata": [2, 2], "children": [] }, { "metadata": [1, 1], "children": [] }] }))
def test_solve(self): data = { '#1': { 'id': '#1', 'x': 1, 'y': 3, 'width': 4, 'height': 4 }, '#2': { 'id': '#2', 'x': 3, 'y': 1, 'width': 4, 'height': 4 }, '#3': { 'id': '#3', 'x': 5, 'y': 5, 'width': 2, 'height': 2 } } self.assertEqual('#3', puzzle.solve(data))
def test_solve(self): lines = """abcdef bababc abbcde abcccd aabcdd abcdee ababab""" data = puzzle.parse(lines.split()) answer = puzzle.solve(data) self.assertEqual(12, answer)
def test_solve(self): lines = """abcde abcef fghij klmno pqrst fguij axcye wvxyz""" data = puzzle.parse(lines.split()) answer = puzzle.solve(data) self.assertEqual("fgij", answer)
def test_solve(self): data = { (10, 11, 1, 5): 20, (10, 11, 1, 30): 25, (99, 11, 2, 40): 10, (10, 11, 3, 24): 5, (99, 11, 4, 36): 10, (99, 11, 5, 45): 10 } answer = puzzle.solve(data) self.assertEqual(240, answer) pass
def test_solve(self): data = { "metadata": [1, 1, 2], "children": [{ "metadata": [10, 11, 12], "children": [] }, { "metadata": [2], "children": [{ "metadata": [99], "children": [] }] }] } self.assertEqual(66, puzzle.solve(data))
def test_solve(self): data = [{ 'id': '#1', 'x': 1, 'y': 3, 'width': 4, 'height': 4 }, { 'id': '#2', 'x': 3, 'y': 1, 'width': 4, 'height': 4 }, { 'id': '#3', 'x': 5, 'y': 5, 'width': 2, 'height': 2 }] self.assertEqual(4, puzzle.solve(data))
def test(seed=None): '''Run solve() 50 times on randomly shuffled 3x3 boards, check for correctness and record total elapsed time.''' print("==============================================") print("Running 50 randomized tests:\n") random.seed(a=seed) total_time = 0 passed = 0 for i in range(50): if i % 10 == 0: print("Running test", i + 1, "-", i + 10, "...") board = shuffle(sample_board) start = time.time() solution = solve(board[:]) # print("Solution is", solution) end = time.time() total_time += end - start if not check(solution, board, passed): print("Current test terminated.") print("==============================================") return passed += 1 print("All tests passed. solve() total running time:", total_time, "s") print("==============================================")
def test_solve(self): data = [(10, 5), (10, 6), (10, 7), (10, 30), (10, 31), (10, 32), (10, 33), (10, 34), (99, 40), (99, 41), (10, 34)] answer = puzzle.solve(data) self.assertEqual(10 * 34, answer) pass
import puzzle if __name__ == "__main__": pieces = puzzle.puzzle("Scans/horses numbered", 380, 50) sortedScoreEdges = puzzle.solve(pieces)
def test_pass(self): masses = puzzle.parse(file("puzzleInput.txt").readlines()) answer = puzzle.solve(masses) self.assertEqual(3348909, answer)
def test_pass(self): answer = puzzle.solve(465, 71498) self.assertEqual(0, answer)
def test_basic_solve(self): data = [12, 14, 1969, 100756] self.assertEqual(34241, puzzle.solve(data))
def main(): global FPSCLOCK, DISPLAYSURF, BASICFONT, RESET_SURF, RESET_RECT, NEW_SURF, NEW_RECT, SOLVE_SURF, SOLVE_RECT pygame.init() FPSCLOCK = pygame.time.Clock() DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)) pygame.display.set_caption('Slide Puzzle') BASICFONT = pygame.font.Font('freesansbold.ttf', BASICFONTSIZE) # Store the option buttons and their rectangles in OPTIONS. RESET_SURF, RESET_RECT = makeText('Reset', TEXTCOLOR, TILECOLOR, WINDOWWIDTH - 120, WINDOWHEIGHT - 90) NEW_SURF, NEW_RECT = makeText('New Game', TEXTCOLOR, TILECOLOR, WINDOWWIDTH - 120, WINDOWHEIGHT - 60) SOLVE_SURF, SOLVE_RECT = makeText('Solve', TEXTCOLOR, TILECOLOR, WINDOWWIDTH - 120, WINDOWHEIGHT - 30) genBoard = generateNewPuzzle(4) mainBoard = pz.copy_board(genBoard) msg = 'Click tile or press arrow keys to slide.' # contains the message to show in the upper left corner. drawBoard(mainBoard, msg) while True: # main game loop slideTo = None # the direction, if any, a tile should slide checkForQuit() for event in pygame.event.get(): # event handling loop if event.type == MOUSEBUTTONUP: spotx, spoty = getSpotClicked(mainBoard, event.pos[0], event.pos[1]) if (spotx, spoty) == (None, None): # check if the user clicked on an option button if RESET_RECT.collidepoint(event.pos): mainBoard = pz.copy_board( genBoard) # clicked on Reset button drawBoard(mainBoard, msg) elif NEW_RECT.collidepoint(event.pos): genBoard = generateNewPuzzle( 16) # clicked on New Game button mainBoard = pz.copy_board(genBoard) drawBoard(mainBoard, msg) elif SOLVE_RECT.collidepoint(event.pos): solution = pz.solve(mainBoard) resetAnimation(mainBoard, solution) # clicked on Solve button else: # check if the clicked tile was next to the blank spot blanky, blankx = getBlankPosition(mainBoard) if spotx == blankx + 1 and spoty == blanky: slideTo = LEFT elif spotx == blankx - 1 and spoty == blanky: slideTo = RIGHT elif spotx == blankx and spoty == blanky + 1: slideTo = UP elif spotx == blankx and spoty == blanky - 1: slideTo = DOWN elif event.type == KEYUP: # check if the user pressed a key to slide a tile if event.key in (K_LEFT, K_a) and isValidMove(mainBoard, LEFT): slideTo = LEFT elif event.key in (K_RIGHT, K_d) and isValidMove( mainBoard, RIGHT): slideTo = RIGHT elif event.key in (K_UP, K_w) and isValidMove(mainBoard, UP): slideTo = UP elif event.key in (K_DOWN, K_s) and isValidMove( mainBoard, DOWN): slideTo = DOWN if slideTo: # slideAnimation(mainBoard, slideTo, 'Click tile or press arrow keys to slide.', 8) # show slide on screen mainBoard = makeMove(mainBoard, slideTo) drawBoard(mainBoard, msg) # allMoves.append(slideTo) # record the slide pygame.display.update() FPSCLOCK.tick(FPS)
def test_pass(self): data = puzzle.parse(open("data.txt").readlines()) answer = puzzle.solve(data) self.assertEqual(0, answer)
def test_pass(self): f = open("input.txt", "r") data = puzzle.parse(f.readlines()) answer = puzzle.solve(data) self.assertEqual(0, answer)
def test_solve(self): self.assertEqual(4, puzzle.solve("dabAcCaCBAcCcaDA")) # self.assertEqual(0, puzzle.solve("a"*5000+"A"*5000)) self.assertEqual(0, puzzle.solve("abBA"))
def test_pass(self): data = file("input.txt").read(500000).strip() answer = puzzle.solve(data) self.assertEqual(0, answer)
def test_basic_solve(self): masses = [12, 14, 1969, 100756] self.assertEqual(34241, puzzle.solve(masses))
def test_basic_solve(self): data = [1, 1, -2] self.assertEqual(0, puzzle.solve(data))
def test_pass(self): with open("input.txt") as inTxt: data = puzzle.parse(inTxt.readlines()) answer = puzzle.solve(data) self.assertEqual(0, answer)
def test_pass(self): data = puzzle.parse(file("input.txt").readlines()) answer = puzzle.solve(data) self.assertEqual(0, answer)
def test_pass(self): data = puzzle.parse("data.txt") answer = puzzle.solve(data) self.assertEqual(0, answer)