public void TestQueenMoves() { chess.CreateChessBoard(); var queen = new QueenMove(); var outcome = queen.Moves("G8"); Assert.AreEqual("H7", outcome.Find(value => value.Equals("H7"))); var outcome2 = queen.Moves("D4"); Assert.AreEqual("E3", outcome2.Find(value => value.Equals("E3"))); Assert.AreEqual("F2", outcome2.Find(value => value.Equals("F2"))); Assert.AreEqual("G1", outcome2.Find(value => value.Equals("G1"))); Assert.AreEqual("C5", outcome2.Find(value => value.Equals("C5"))); Assert.AreEqual("B6", outcome2.Find(value => value.Equals("B6"))); Assert.AreEqual("A7", outcome2.Find(value => value.Equals("A7"))); var outcome3 = queen.Moves("E4"); Assert.AreEqual("E8", outcome3.Find(value => value.Equals("E8"))); Assert.AreEqual("E7", outcome3.Find(value => value.Equals("E7"))); Assert.AreEqual("E6", outcome3.Find(value => value.Equals("E6"))); Assert.AreEqual("E5", outcome3.Find(value => value.Equals("E5"))); Assert.AreEqual("E3", outcome3.Find(value => value.Equals("E3"))); Assert.AreEqual("E2", outcome3.Find(value => value.Equals("E2"))); Assert.AreEqual("E1", outcome3.Find(value => value.Equals("E1"))); Assert.AreEqual("A4", outcome3.Find(value => value.Equals("A4"))); Assert.AreEqual("B4", outcome3.Find(value => value.Equals("B4"))); Assert.AreEqual("C4", outcome3.Find(value => value.Equals("C4"))); Assert.AreEqual("D4", outcome3.Find(value => value.Equals("D4"))); Assert.AreEqual("F4", outcome3.Find(value => value.Equals("F4"))); Assert.AreEqual("G4", outcome3.Find(value => value.Equals("G4"))); Assert.AreEqual("H4", outcome3.Find(value => value.Equals("H4"))); }
private Position[] getQueenValidMoves(Position pos) { var queen = new QueenMove(); var moves = queen.ValidMovesFor(pos).ToArray(); return(moves); }
public void ValidMovesFor_WhenQueenMoveFromtheCorner_ThenReturnValidMoves() { // Arrange var pos = new Position(1, 8); var queenMove = new QueenMove(); var expectedMoves = Factory.ValidMovesForQueenAtPos_1_8(); // Act var moves = queenMove.ValidMovesFor(pos).ToArray(); // Assert Assert.IsNotNull(moves); Assert.AreEqual(21, moves.Length); moves.Should().BeEquivalentTo(expectedMoves); }
public void TestQueenMoveFromCorner() { var pos = new Position(1, 1); var Queen = new QueenMove(); var moves = new HashSet <Position>(Queen.ValidMovesFor(pos)); Assert.IsNotNull(moves); Assert.AreEqual(21, moves.Count); var possibles = new[] { new Position(8, 8), new Position(8, 1), new Position(1, 8) }; foreach (var possible in possibles) { Assert.IsTrue(moves.Contains(possible)); } }
public void TestQueenMoveFromInsideBoard() { var pos = new Position(3, 3); var Queen = new QueenMove(); var moves = Queen.ValidMovesFor(pos).ToArray(); Assert.IsNotNull(moves); Assert.AreEqual(25, moves.Length); foreach (var move in moves) { int x = move.X - pos.X; int y = move.Y - pos.Y; Assert.IsTrue((x == 0) || (y == 0) || (x + y == 0) || (x - y == 0)); } }