Beispiel #1
0
        public void ShouldReturn5Values()
        {
            Dice sut    = new DiceImplemented(new DieImplemented(), new DieImplemented(), new DieImplemented(), new DieImplemented(), new DieImplemented());
            var  actual = sut.GetValues().Count;

            var expected = 5;

            Assert.Equal(expected, actual);
        }
Beispiel #2
0
        public void ShouldKeepSpecifiedDie()
        {
            var mockDie = new Mock <Die>();
            var stubDie = new Mock <Die>();
            var dice    = new DiceImplemented(mockDie.Object, stubDie.Object, stubDie.Object, stubDie.Object, stubDie.Object);
            var sut     = new Game(new AllAvailableCategoriesStrategy(), dice);

            sut.KeepDie(DiceList.Die1);
            sut.Throw();
            mockDie.Verify(die => die.Throw(), Times.Never);
        }
Beispiel #3
0
        public void ShouldKeepFirstDie()
        {
            var die1 = new Mock <Die>();
            var die2 = new Mock <Die>();

            Dice sut = new DiceImplemented(die1.Object, die2.Object, die2.Object, die2.Object, die2.Object);

            sut.KeepDie(DiceList.Die1);
            sut.Throw();

            die1.Verify(die => die.Throw(), Times.Never());
            die2.Verify(die => die.Throw(), Times.AtLeastOnce());
        }
Beispiel #4
0
        public void ShouldKeepMultipleDice()
        {
            var keep1 = new Mock <Die>();
            var keep2 = new Mock <Die>();
            var die   = new Mock <Die>();

            Dice sut = new DiceImplemented(keep1.Object, die.Object, keep2.Object, die.Object, die.Object);

            sut.KeepDie(DiceList.Die1);
            sut.KeepDie(DiceList.Die3);
            sut.Throw();
            keep1.Verify(d => d.Throw(), Times.Never());
            keep2.Verify(d => d.Throw(), Times.Never());
            die.Verify(d => d.Throw(), Times.AtLeastOnce());
        }
Beispiel #5
0
        public void ShouldNotBeEffectedOfKeepingDieMultipleTimes()
        {
            var die  = new Mock <Die>();
            var keep = new Mock <Die>();

            Dice sut = new DiceImplemented(die.Object, die.Object, keep.Object, die.Object, die.Object);

            sut.KeepDie(DiceList.Die3);
            sut.KeepDie(DiceList.Die3);
            sut.KeepDie(DiceList.Die3);
            sut.KeepDie(DiceList.Die3);

            sut.Throw();
            keep.Verify(d => d.Throw(), Times.Never());
            die.Verify(d => d.Throw(), Times.Once());
        }
Beispiel #6
0
        public void ShouldThrowAllDice()
        {
            var die1 = new Mock <Die>();
            var die2 = new Mock <Die>();
            var die3 = new Mock <Die>();
            var die4 = new Mock <Die>();
            var die5 = new Mock <Die>();

            Dice sut = new DiceImplemented(die1.Object, die2.Object, die3.Object, die4.Object, die5.Object);

            sut.Throw();

            die1.Verify(die => die.Throw(), Times.Once());
            die2.Verify(die => die.Throw(), Times.Once());
            die3.Verify(die => die.Throw(), Times.Once());
            die4.Verify(die => die.Throw(), Times.Once());
            die5.Verify(die => die.Throw(), Times.Once());
        }
Beispiel #7
0
        public void NewMainController()
        {
            var player = new Player();

            var category = new AllAvailableCategoriesStrategy();

            var die1 = new DieImplemented();
            var die2 = new DieImplemented();
            var die3 = new DieImplemented();
            var die4 = new DieImplemented();
            var die5 = new DieImplemented();
            var dice = new DiceImplemented(die1, die2, die3, die4, die5);

            var diceView   = new DiceView(dice);
            var view       = new EnglishMainView(diceView);
            var game       = new Game(category, dice);
            var controller = new MainController(view, player, game);

            Assert.IsType <MainController>(controller);
        }
Beispiel #8
0
        public void ShouldGetValuesFromDice()
        {
            var die1 = new Mock <Die>();
            var die2 = new Mock <Die>();
            var die3 = new Mock <Die>();
            var die4 = new Mock <Die>();
            var die5 = new Mock <Die>();

            die1.Setup(die => die.GetValue()).Returns(5);
            die2.Setup(die => die.GetValue()).Returns(5);
            die3.Setup(die => die.GetValue()).Returns(5);
            die4.Setup(die => die.GetValue()).Returns(5);
            die5.Setup(die => die.GetValue()).Returns(5);

            Dice sut = new DiceImplemented(die1.Object, die2.Object, die3.Object, die4.Object, die5.Object);

            var actual   = sut.GetValues().Sum();
            var expected = 25;

            Assert.Equal(expected, actual);
        }