public async Task Move_ToBusyField_ShouldStayInPlace() { // Arrange var figure = new Figure(); var oldPosition = figure.Position; var figure1 = new Figure { Position = new Point(1, 1) }; var board = new Board { Figures = new List <Figure>() }; board.Figures.Add(figure); board.Figures.Add(figure1); var newPosition = new Point(1, 1); var command = new CheckerCommand(figure, board.Figures, newPosition); // Act command.Move(); // Assert figure.Position.Should().Be(oldPosition); }
public async Task Move_ToTopFreePlace_ShouldMakeMove() { // Arrange var board = new Board { Figures = new List <Figure> { new Figure() } }; var position = new Point(1, 1); var command = new CheckerCommand(board.Figures.First(), board.Figures, position); // Act command.Move(); // Assert board.Figures.First().Position.Should().Be(position); }
public async Task Move_ToOutOfBoard_ShouldStayInPlace(int oldX, int oldY, int newX, int newY) { // Arrange var figure = new Figure(); var oldPosition = figure.Position = new Point(oldX, oldY); var newPosition = new Point(newX, newY); var board = new Board { Figures = new List <Figure>() }; board.Figures.Add(figure); var command = new CheckerCommand(figure, board.Figures, newPosition); // Act command.Move(); // Assert figure.Position.Should().Be(oldPosition); }
public async Task Move_ToInaccessiblePlace_ShouldStayInPlace(int x, int y) { // Arrange var figure = new Figure(); var oldPosition = figure.Position; var newPosition = new Point(x, y); var board = new Board { Figures = new List <Figure>() }; board.Figures.Add(figure); var command = new CheckerCommand(figure, board.Figures, newPosition); // Act command.Move(); // Assert figure.Position.Should().Be(oldPosition); }