package org.teachingextensions.logo; import org.junit.Test; import org.teachingextensions.approvals.lite.Approvals; import org.teachingextensions.approvals.lite.reporters.UseReporter; import org.teachingextensions.approvals.lite.reporters.macosx.BeyondCompareReporter; import org.teachingextensions.logo.utils.PuzzleUtils.AStarPlayer; import org.teachingextensions.logo.utils.PuzzleUtils.Puzzle; import org.teachingextensions.logo.utils.PuzzleUtils.PuzzlePlayer; import org.teachingextensions.logo.utils.PuzzleUtils.PuzzleState; @UseReporter(BeyondCompareReporter.class) public class AStarPlayerTest extends PuzzlePlayerTest { @Override protected PuzzlePlayer getPlayer(Puzzle puzzle) { return new AStarPlayer(puzzle); } /** * Produces a puzzle solution */ @Test public void solve_puzzle() throws Exception { verifySolution(); } /** * Solve longer puzzle */ @Test public void solve_longer_puzzle() throws Exception { verifyLongSolution(); } /** * Solve jumbo puzzle */ @Test public void solve_jumbo_puzzle() throws Exception { int[] cells = {8, 0, 1, 2, 3, 4, 5, 6, 7}; Puzzle p = new Puzzle(cells); PuzzlePlayer b = getPlayer(p); PuzzleState s = b.solve(); Approvals.verifyAll("From " + p + " to " + s.getPuzzle(), s.getHistory()); } }