package net.woodyfolsom.msproj.policy; import static org.junit.Assert.assertEquals; import net.woodyfolsom.msproj.GameBoard; import net.woodyfolsom.msproj.GameConfig; import net.woodyfolsom.msproj.GameState; import net.woodyfolsom.msproj.policy.AlphaBeta; import net.woodyfolsom.msproj.policy.Policy; import org.junit.Test; public class AlphaBetaTest { @Test public void testGenmoveAsW() { Policy treeSearch = new AlphaBeta(); GameState gameState = new GameState(6); gameState.playStone('A', 2, GameBoard.WHITE_STONE); gameState.playStone('B', 1, GameBoard.WHITE_STONE); gameState.playStone('C', 2, GameBoard.WHITE_STONE); gameState.playStone('B', 2, GameBoard.BLACK_STONE); String move = treeSearch.getAction(new GameConfig(), gameState, "b"); System.out.println(gameState); System.out.println("Generated move: " + move); assertEquals("Expected B3 but was: " + move, "B3", move); gameState.playStone("b", move); System.out.println(gameState); assertEquals(Policy.PASS, treeSearch.getAction(new GameConfig(), gameState, "?")); } @Test public void testGenmoveAsB() { Policy treeSearch = new AlphaBeta(); GameState gameState = new GameState(6); gameState.playStone('A', 2, GameBoard.BLACK_STONE); gameState.playStone('B', 1, GameBoard.BLACK_STONE); gameState.playStone('C', 2, GameBoard.BLACK_STONE); gameState.playStone('B', 2, GameBoard.WHITE_STONE); String move = treeSearch.getAction(new GameConfig(), gameState, "b"); System.out.println(gameState); System.out.println("Generated move: " + move); assertEquals("Expected B3 but was: " + move, "B3", move); gameState.playStone("b", move); System.out.println(gameState); assertEquals(Policy.PASS, treeSearch.getAction(new GameConfig(), gameState, "?")); } }