public void CanMovePawnJumpOverFigureTest()//Попытка пешки перепрыгнуть через фигуру, если она стоит на старте { Board Board = new Board("rnbqkbnr/pppppppp/P......./......../......../p......./PPPPPPPP/RNBQKBNR"); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Pa2a4");//Белыми Assert.IsFalse(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("pa7a5");//Черными Assert.IsFalse(Moves.CanMove(Fm)); }
public void CanMoveLikeRookRightMoveTest()//Перемещение ферзя, выполняя ход как ладья { Board Board = new Board("rnbqkbnr/pppppppp/......../......../......../Q......./.PPPPPPP/RNB.KBNR"); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Qa3a4");//По вертикали Assert.IsTrue(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Qa3b3");//По горизонтали Assert.IsTrue(Moves.CanMove(Fm)); }
public void CanMoveLikeRookBeatFigureTest()//Атака вражеских фигур ферзем, выполняя ход как ладья { Board Board = new Board("rnbqkbnr/pppppppp/......../......../......../Q....p../.PPPPPPP/RNB.KBNR"); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Qa3a7");//По вертикали Assert.IsTrue(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Qa3f3");//По горизонтали Assert.IsTrue(Moves.CanMove(Fm)); }
public void CanMoveLikeRookJumpOverFigureTest()//Попытка ферзя перепрыгнуть через фигуры, выполняя ход как ладья { Board Board = new Board("rnbqkbnr/pppppppp/......../p......./Q....p../......../PPPPPPPP/RNB.KBNR"); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Qa4a6");//По вертикали Assert.IsFalse(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Qa4g4");//По горизонтали Assert.IsFalse(Moves.CanMove(Fm)); }
public void CanMoveRightMoveWhiteOneStepTest()//Правильное перемещение белых { Board Board = new Board(Fen); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Pa2a3");//На 1 ход вперед Assert.IsTrue(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Pa2a4");//На 2 хода вперед Assert.IsTrue(Moves.CanMove(Fm)); }
public void CanMoveRookBeatFigureTest()//Атака ладьи { Board Board = new Board("rnbqkbnr/pppppppp/......../......../......../R....p../.PPPPPPP/.NBQKBNR"); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Ra3a7");//По вертикали Assert.IsTrue(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Ra3f3");//По горизонтали Assert.IsTrue(Moves.CanMove(Fm)); }
public void CanMoveRightMoveBlackOneStepTest()//Правильное перещение черных { Board Board = new Board(Fen); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("pa7a6");//На 1 ход вперед Assert.IsTrue(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("pa7a5");//На 2 хода вперед Assert.IsTrue(Moves.CanMove(Fm)); }
public void CanMoveBeatFigureTest()//Атака фигуры { Board Board = new Board("rnbqkbnr/pppppppp/......../p.p...../.P....../......../PPPPPPPP/RNBQKBNR"); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Pb4a5");//Налево Assert.IsTrue(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Pb4c5");//Направо Assert.IsTrue(Moves.CanMove(Fm)); }
public void CanMoveRookJumpOverFigureTest() //Попытка ладьи перепрыгнуть через фигуры { Board Board = new Board("rnbqkbnr/pppppppp/......../p......./R....p../......../PPPPPPPP/.NBQKBNR"); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Ra4a6");//По вертикали Assert.IsFalse(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Ra4g4");//По горизонтали Assert.IsFalse(Moves.CanMove(Fm)); }
public void CanMoveBeatFriendlyFigureTest()//Атака дружественных фигур { Board Board = new Board("rnbqkbnr/pppppppp/......../R.Q...../.P....../......../PPPPPPPP/RNBQKBNR"); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Pb4a5");//Налево Assert.IsFalse(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Pb4c5");//Направо Assert.IsFalse(Moves.CanMove(Fm)); }
private static IEnumerable <FigureMoving> AllKnightMoves(FigureMoving fm) { fm.GetCellsAndFigures("Nc4a5");//Влево-Вверх yield return(fm); fm.GetCellsAndFigures("Nc4a3");//Влево-Вниз yield return(fm); fm.GetCellsAndFigures("Nc4b6");//Вверх-Влево yield return(fm); fm.GetCellsAndFigures("Nc4d6");//Вверх-Вправо yield return(fm); fm.GetCellsAndFigures("Nc4e5");//Вправо-Вверх yield return(fm); fm.GetCellsAndFigures("Nc4e3");//Вправо-Вниз yield return(fm); fm.GetCellsAndFigures("Nc4b2");//Вниз-Влево yield return(fm); fm.GetCellsAndFigures("Nc4d2");//Вниз-Вправо yield return(fm); }
private static IEnumerable <FigureMoving> AllBishopMovesForQueen(FigureMoving fm) { fm.GetCellsAndFigures("Qd4b6");//Влево-Вверх yield return(fm); fm.GetCellsAndFigures("Qd4f6");//Влево-Вниз yield return(fm); fm.GetCellsAndFigures("Qd4b2");//Вверх-Влево yield return(fm); fm.GetCellsAndFigures("Qd4f6");//Вверх-Вправо yield return(fm); }
private static IEnumerable <FigureMoving> AllKingMoves(FigureMoving fm) { fm.GetCellsAndFigures("Ke5e6"); yield return(fm); fm.GetCellsAndFigures("Ke5f6"); yield return(fm); fm.GetCellsAndFigures("Ke5f5"); yield return(fm); fm.GetCellsAndFigures("Ke5f4"); yield return(fm); fm.GetCellsAndFigures("Ke5e4"); yield return(fm); fm.GetCellsAndFigures("Ke5d4"); yield return(fm); fm.GetCellsAndFigures("Ke5d5"); yield return(fm); fm.GetCellsAndFigures("Ke5d6"); yield return(fm); }
public void CanMoveKingBeatFriendlyFigureTest()//Атака дружественных фигур { Board Board = new Board("rnbqkbnr/pppppppp/PPPPPPPP/PPPPKPPP/PPPPPPPP/PPPPPPPP/PPPPPPPP/RNBQPBNR"); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Ke5e6"); Assert.IsFalse(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Ke5f6"); Assert.IsFalse(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Ke5f5"); Assert.IsFalse(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Ke5f4"); Assert.IsFalse(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Ke5e4"); Assert.IsFalse(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Ke5d4"); Assert.IsFalse(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Ke5d5"); Assert.IsFalse(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Ke5d6"); Assert.IsFalse(Moves.CanMove(Fm)); }
public void CanMoveRookRightMoveTest()//Перемещение ладьи { Board Board = new Board("rnbqkbnr/pppppppp/......../......../......../R......./.PPPPPPP/.NBQKBNR"); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Ra3a4");//По вертикали Assert.IsTrue(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Ra3b3");//По горизонтали Assert.IsTrue(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Ra3b4");//По диагонали Assert.IsFalse(Moves.CanMove(Fm)); }
public void GetCellAndFigureWrongYAndXTest()//Отсутствие координаты X и Y на поле { Board Board = new Board(Fen); FigureMoving Fm = new FigureMoving(Board); Assert.ThrowsException <ArgumentException>(() => Fm.GetCellsAndFigures("nb9a9")); }
public void GetCellAndFigureNoFigureTest()//Отсутствие фигуры в параметре, параметр меньше 5 символов { Board Board = new Board(Fen); FigureMoving Fm = new FigureMoving(Board); Assert.ThrowsException <ArgumentException>(() => Fm.GetCellsAndFigures("a1a2")); }
public void GetCellAndFigureWrongFigureTest()//Неправильная фигура на начальной клетке { Board Board = new Board(Fen); FigureMoving Fm = new FigureMoving(Board); Assert.ThrowsException <ArgumentException>(() => Fm.GetCellsAndFigures("ra1a2")); }
public void GetCellAndFigureNoFigureAndNegativeCoordinateYTest()//Отсутствие фигуры и отрицательная координата, но зато 5 символов { Board Board = new Board(Fen); FigureMoving Fm = new FigureMoving(Board); Assert.ThrowsException <ArgumentException>(() => Fm.GetCellsAndFigures("b1a-2")); }
public void GetCellAndFigureSymbolsMoreThan5Test()//Параметр имеет больше 5 символов { Board Board = new Board(Fen); FigureMoving Fm = new FigureMoving(Board); Assert.ThrowsException <ArgumentException>(() => Fm.GetCellsAndFigures("nb-1a2")); }
public void CanMoveRookBeatFriendlyFigureTest()//Попытка ладьи атаковать дружеские фигуры { Board Board = new Board(Fen); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Ra1a2"); Assert.IsFalse(Moves.CanMove(Fm)); }
public void CanMoveLikeRookBeatFriendlyFigureTest()//Попытка ферзя атаковать дружеские фигуры, выполняя ход как ладья { Board Board = new Board(Fen); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Qd1d2"); Assert.IsFalse(Moves.CanMove(Fm)); }
public void CanMoveWrongMoveTest() //Невозможное перемещение пешки { Board Board = new Board(Fen); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Pa2a5"); Assert.IsFalse(Moves.CanMove(Fm)); }
public void CanMoveLikeBishopBeatFigureTest()//Атака вражеских фигур ферзем, выполняя ход как слон { Board Board = new Board("rnbqkbnr/......../......../pppppppp/...Q..../pppppppp/......../RNBQKBNR"); Moves Moves = new Moves(Board); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("Qd4c5");//Вверх-влево по диагонали Assert.IsTrue(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Qd4e5");//Вверх-вправо по диагонали Assert.IsTrue(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Qd4c3");//Вниз-влево по диагонали Assert.IsTrue(Moves.CanMove(Fm)); Fm.GetCellsAndFigures("Qd4e5");//Вниз-вправо по диагонали Assert.IsTrue(Moves.CanMove(Fm)); }
public void MoveBlackTest() { Board Board = new Board(Fen); FigureMoving Fm = new FigureMoving(Board); Fm.GetCellsAndFigures("nb8c6"); Board NewBoard = Board.Move(Fm); //Делаем ход Board.Fen = "r.bqkbnr/pppppppp/..n...../......../......../......../PPPPPPPP/RNBQKBNR"; //Поле которое нужно получить Assert.AreEqual(NewBoard.Fen, Board.Fen); //Сравниваем поля }
public void GetCellAndFigureBlackTest()//Правильное получение черной фигуры { Board Board = new Board(Fen); FigureMoving Fm = new FigureMoving(Board); FigureMoving FmExpected = Fm; Cell ExpectedCellX = new Cell(0, 6, Figure.BlackPawn); //Ожидаем черную пешку на a7 Cell ExpectedCellY = new Cell(0, 4, Figure.None); //Не ожидаем фигуру на a5 FmExpected.From = ExpectedCellX; FmExpected.To = ExpectedCellY; Fm.GetCellsAndFigures("pa7a5"); Assert.AreEqual(FmExpected, Fm); }
public void GetCellAndFigureWhiteTest()//Правильное получение белой фигуры { Board Board = new Board(Fen); FigureMoving Fm = new FigureMoving(Board); FigureMoving FmExpected = Fm; Cell ExpectedCellX = new Cell(0, 1, Figure.WhitePawn); //Ожидаем пешку на a2 Cell ExpectedCellY = new Cell(0, 3, Figure.None); //Не ожидаем фигуру на a4 FmExpected.From = ExpectedCellX; FmExpected.To = ExpectedCellY; Fm.GetCellsAndFigures("Pa2a4"); Assert.AreEqual(FmExpected, Fm); }