public static void TestValidMoveBlackQueenHorizontal()
{
ChessGame cb = new ChessGame();
Move move1 = new Move(new Position(File.A, 2), new Position(File.A, 3), Player.White);
Move move2 = new Move(new Position(File.B, 8), new Position(File.C, 6), Player.Black);
Move move3 = new Move(new Position(File.B, 2), new Position(File.B, 3), Player.White);
Move move4 = new Move(new Position(File.D, 7), new Position(File.D, 6), Player.Black);
Move move5 = new Move(new Position(File.C, 2), new Position(File.C, 3), Player.White);
Move move6 = new Move(new Position(File.C, 8), new Position(File.D, 7), Player.Black);
Move move7 = new Move(new Position(File.D, 2), new Position(File.D, 3), Player.White);
Move move8 = new Move(new Position(File.D, 8), new Position(File.C, 8), Player.Black);
Move move9 = new Move(new Position(File.D, 8), new Position(File.B, 8), Player.Black);
cb.ApplyMove(move1, true);
cb.ApplyMove(move2, true);
cb.ApplyMove(move3, true);
cb.ApplyMove(move4, true);
cb.ApplyMove(move5, true);
cb.ApplyMove(move6, true);
cb.ApplyMove(move7, true);
Assert.True(cb.IsValidMove(move8), "move8 should be valid");
Assert.True(cb.IsValidMove(move9), "move9 should be valid");
}