package game; import org.junit.Test; import java.util.Arrays; import java.util.List; import static game.Position.pos; import static java.util.Arrays.asList; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; public class EightQueensTest { @Test public void acceptance_test() { List<Position> board = Arrays.asList(pos(0, 3),pos(1, 5), pos(2, 7), pos(3, 1), pos(4, 6), pos(5, 0), pos(6, 2), pos(7, 4)); assertTrue(EightQueens.isSolution(board)); } @Test public void eight_queens_fails() { List<Position> board = Arrays.asList(pos(0, 3),pos(1, 5), pos(2, 7), pos(3, 1), pos(4, 6), pos(5, 0), pos(7, 2), pos(7, 4)); assertFalse(EightQueens.isSolution(board)); } @Test public void it_should_accept_when_there_is_one_queen() { List<Position> board = asList(pos(0, 3)); assertTrue(EightQueens.isSolution(board)); } @Test public void it_should_refuse_two_queens_with_the_same_x() { List<Position> board = asList(pos(0, 3), pos(0, 5)); assertFalse(EightQueens.isSolution(board)); } @Test public void it_accepts_two_good_nice_sweet_gorgeous_queens() { List<Position> board = asList(pos(0, 0), pos(1, 3)); assertTrue(EightQueens.isSolution(board)); } @Test public void it_should_refuse_two_queens_with_same_y(){ List<Position> board = asList(pos(0, 0), pos(1, 0)); assertFalse(EightQueens.isSolution(board)); } @Test public void it_should_refuse_two_queens_on_same_diagonal(){ List<Position> board = asList(pos(0, 0), pos(1, 1)); assertFalse(EightQueens.isSolution(board)); } @Test public void it_should_refuse_two_intersect_among_three(){ List<Position> board = asList(pos(0, 0), pos(1, 3), pos(0,7)); assertFalse(EightQueens.isSolution(board)); } @Test public void it_should_accept_three_nice_queens(){ List<Position> board = asList(pos(0, 0), pos(1, 3), pos(2,7)); assertTrue(EightQueens.isSolution(board)); } @Test public void it_generates_a_solution() { System.out.print(EightQueens.findSolution(8).toString()); } }