public void ShouldNotAcceptNullScoreBoard()
        {
            var fakeDice = new Mock <Dice>();
            var sut      = new AllAvailableCategoriesStrategy();

            Assert.Throws <ArgumentNullException>(() => sut.GetCategories(fakeDice.Object, null));
        }
        public void ShouldNotAcceptNullDice()
        {
            var fakePlayer = new Mock <ScoreBoard>();
            var sut        = new AllAvailableCategoriesStrategy();

            Assert.Throws <ArgumentNullException>(() => sut.GetCategories(null, fakePlayer.Object));
        }
        private List <Category> ExersciseSUTWithScoreBoard(List <int> diceValues, List <Category> occupied)
        {
            var fakePlayer = new Mock <ScoreBoard>();

            fakePlayer.Setup(p => p.GetOccupiedCategories()).Returns(occupied);

            var fakeDice = new Mock <Dice>();

            fakeDice.Setup(d => d.GetValues()).Returns(diceValues);

            var sut = new AllAvailableCategoriesStrategy();

            return(sut.GetCategories(fakeDice.Object, fakePlayer.Object));
        }