public void TestAddPlayerOnCorrectPosition() { IPlayField playField = new PlayField(new PlayFldGen(new Position(1, 1)), new Position(1, 1)); playField.InitializePlayFieldCells(RandomNumberGenerator.Instance); ICell cell = playField.GetCell(new Position(1, 1)); Assert.AreEqual(cell.ValueChar, Constants.StandardGamePlayerChar); }
public void TestMovePlayerOnCorrectPosition() { IPlayField playField = new PlayField(new PlayFldGen(new Position(1, 1)), new Position(1, 1)); playField.InitializePlayFieldCells(RandomNumberGenerator.Instance); IPlayer player = new Player("Test", playField.GetCell(new Position(1, 1))); playField.RemovePlayer(player); playField.AddPlayer(player, new Position(1,2)); Assert.AreEqual(player.CurentCell.Position.Row,playField.PlayerPosition.Row); Assert.AreEqual(player.CurentCell.Position.Column, playField.PlayerPosition.Column); }
public void TestMovePlayerOnIncorrectPositionShouldThrow() { PlayFldGen generator = new PlayFldGen(new Position(1, 1)); IPlayField playField = new PlayField(generator, new Position(1, 1)); playField.InitializePlayFieldCells(RandomNumberGenerator.Instance); generator.ChangeCellAtPosition(new Position(1, 2), Constants.StandardGameCellWallValue); IPlayer player = new Player("Test", playField.GetCell(new Position(1, 1))); playField.RemovePlayer(player); playField.AddPlayer(player, new Position(1, 2)); }
public void TestMoveLeftCommandCorrect() { IPlayFieldGenerator pg = new PlayFieldGenerator(); IPlayField playFld = new PlayField(pg, new Position(1, 1), 3, 3); playFld.InitializePlayFieldCells(RandomNumberGenerator.Instance); Mock<IRenderer> mockRenderer = new Mock<IRenderer>(); IMementoCaretaker mockMemento = new MementoCaretaker(new List<IMemento>()); Mock<IScoreLadder> mockScoreLader = new Mock<IScoreLadder>(); IPlayer player = new Player("Test", new Cell(new Position(1, 1), Constants.StandardGamePlayerChar)); ICommandContext cmdContext = new CommandContext(playFld, mockRenderer.Object, mockMemento, mockScoreLader.Object, player); ICommandFactory factory = new SimpleCommandFactory(); ICommand command = factory.CreateCommand("l"); command.Execute(cmdContext); Assert.AreEqual(1, player.CurentCell.Position.Row); Assert.AreEqual(0, player.CurentCell.Position.Column); }
public void TestPlayFieldWithIncorrectData() { var position = new Position(55, 55); var generator = new StandardPlayFieldGenerator(position, 3, 3); PlayField field = new PlayField(generator, position, 4, 4); field.InitializePlayFieldCells(RandomNumberGenerator.Instance); }
public void TestScoreCommandCorrect() { IPlayFieldGenerator pg = new PlayFieldGenerator(); IPlayField playFld = new PlayField(pg, new Position(1, 1), 3, 3); playFld.InitializePlayFieldCells(RandomNumberGenerator.Instance); Mock<IRenderer> mockRenderer = new Mock<IRenderer>(); IMementoCaretaker mockMemento = new MementoCaretaker(new List<IMemento>()); Mock<IScoreLadder> mockScoreLader = new Mock<IScoreLadder>(); IPlayer player = new Player("Test", new Cell(new Position(1, 1), Constants.StandardGamePlayerChar)); ICommandContext cmdContext = new CommandContext(playFld, mockRenderer.Object, mockMemento, mockScoreLader.Object, player); ICommandFactory factory = new SimpleCommandFactory(); ICommand command = factory.CreateCommand("top"); command.Execute(cmdContext); mockRenderer.Verify(x => x.ShowScoreLadder(It.IsAny<IScoreLadderContentProvider>()), Times.Once); }