public void GivenGameHasSnakeAtFourteen_WhenUserReachesFourteen_ThenUserShouldMoveToSeven()
        {
            //given
            var gameBuilder = new GameBuilder();
            var player      = new Player
            {
                Place = 10
            };

            gameBuilder.AddPlayer(player);
            var snake = new Snake(14, 7);

            gameBuilder.AddJumper(snake);
            var dice = new Mock <IDice>();

            dice.Setup(d => d.Throw()).Returns(4);
            gameBuilder.SetDice(dice.Object);
            var game = gameBuilder.Build();

            //when
            var diceThrow = game.Play();

            //then
            game.Players.ToList()[0].Place.Should().Be(7);
        }
        public void GivenPlayerHitsGreensSnakes_WhenPlayerAgainHitsSameSnake_ThenSnakeIsPowerless()
        {
            //given
            var gameBuilder = new GameBuilder();
            var player      = new Player
            {
                Place = 10
            };

            gameBuilder.AddPlayer(player);
            var snake = new GreenSnake(14, 10);

            gameBuilder.AddJumper(snake);
            var dice = new Mock <IDice>();

            dice.Setup(d => d.Throw()).Returns(4);
            gameBuilder.SetDice(dice.Object);
            var game      = gameBuilder.Build();
            var diceThrow = game.Play();

            //when
            diceThrow = game.Play();

            //then
            player.Place.Should().Be(14);
        }