public void Play_DiceOutCome_PlayerClimbedLadder()
        {
            // Arrange
            var board = new Mock <IBoard>();

            board.Setup(x => x.SetSize(InitializeSize()));
            board.Setup(x => x.SetLadders(InitializeLadders(85, 33)));
            board.Setup(x => x.SetPlayer(InitializePlayers(30)));
            board.Setup(x => x.SetSnakes(InitializeSnakes(36, 19)));

            board.Setup(x => x.GetLadders()).Returns(InitializeLadders(85, 33));
            board.Setup(x => x.GetPlayer()).Returns(InitializePlayers(30));
            board.Setup(x => x.GetSnakes()).Returns(InitializeSnakes(36, 19));

            // Act
            var snakeAndLadders = new SnakeAndLadders.SnakeAndLadders(board.Object);

            snakeAndLadders.Plot();
            var position = snakeAndLadders.Play(3);

            // Assert
            Assert.Equal(85, position);
        }
        public void Play_DiceOutCome_PlayerDoesNotMoved()
        {
            // Arrange
            var board = new Mock <IBoard>();

            board.Setup(x => x.SetSize(InitializeSize()));
            board.Setup(x => x.SetLadders(InitializeLadders(85, 52)));
            board.Setup(x => x.SetPlayer(InitializePlayers(96)));
            board.Setup(x => x.SetSnakes(InitializeSnakes(99, 45)));

            board.Setup(x => x.GetLadders()).Returns(InitializeLadders(85, 52));
            board.Setup(x => x.GetPlayer()).Returns(InitializePlayers(96));
            board.Setup(x => x.GetSnakes()).Returns(InitializeSnakes(99, 45));

            // Act
            var snakeAndLadders = new SnakeAndLadders.SnakeAndLadders(board.Object);

            snakeAndLadders.Plot();
            var position = snakeAndLadders.Play(6);

            // Assert
            Assert.Equal(96, position);
        }