package murex.pop.dojo.solitaire; import org.fest.assertions.api.Assertions; import org.junit.Test; public class IATest { /* @Test public void acceptance_test() { Assertions.assertThat(IA.resolve( new boolean[] { true, true, true, true, true}, new boolean[] { true, true, true, true, true}, new boolean[] { true, true, false, true, true}, new boolean[] { true, true, true, true, true}, new boolean[] { true, true, true, true, true})).isTrue(); } */ @Test public void it_returns_true_if_grid_is_solved() { final Boolean[] line = { false, false, true }; Assertions.assertThat(IA.hasSolution(line)).isTrue(); } @Test public void it_should_jump_over_a_ball_on_the_right() { final Boolean[] line = { true, true, false }; Assertions.assertThat(IA.hasSolution(line)).isTrue(); } @Test public void it_should_jump_over_a_ball_on_the_left() { final Boolean[] line = { false, true, true }; Assertions.assertThat(IA.hasSolution(line)).isTrue(); } @Test public void return_false_if_there_is_no_hole() { final Boolean[] line = { true, true, true }; Assertions.assertThat(IA.hasSolution(line)).isFalse(); } @Test public void return_false_if_there_is_no_possible_moves() { final Boolean[] line = { true, false, true }; Assertions.assertThat(IA.hasSolution(line)).isFalse(); } @Test public void it_solves_in_many_turns() { final Boolean[] line = { true, true, false, true, false }; Assertions.assertThat(IA.hasSolution(line)).isTrue(); } @Test public void it_has_no_solution_after_a_round() { final Boolean[] line = { true, true, false, false, true }; Assertions.assertThat(IA.hasSolution(line)).isFalse(); } @Test public void first_solution_is_not_correct_with_sevral_moves() { final Boolean[] line = { false, true, false, true, false, true, true, false }; Assertions.assertThat(IA.hasSolution(line)).isTrue(); } @Test public void it_should_handle_vertical_move() { final Boolean[][] board = { { true }, { true }, { false } }; Assertions.assertThat(IA.hasSolution(board)).isTrue(); } }