예제 #1
0
        public void DieRollShouldChangeValue()
        {
            var rng       = new TestRng(4);
            var dice      = new Die(rng);
            int firstRoll = dice.RollDie();

            rng.ChangeReturnValue(1);
            int secondRoll = dice.RollDie();

            Assert.NotEqual(firstRoll, secondRoll);
        }
예제 #2
0
        public void HoldMethodShouldNotChangeHeldDiceValue()
        {
            var reader = new TestConsoleReader(new List <string>()
            {
                "a", "q"
            });
            var rng   = new TestRng(6);
            var dice1 = new Die(rng);
            var dice2 = new Die(rng);
            var dice3 = new Die(rng);
            var dice4 = new Die(rng);
            var dice5 = new Die(rng);
            var game  = new Game(dice1, dice2, dice3, dice4, dice5, new UserInput(reader), new bool[5]);

            Assert.Equal(new List <int> {
                6, 6, 6, 6, 6
            }, game.GetValues());
            rng.ChangeReturnValue(1);
            game.Hold(new[] { true, false, false, false, false });
            game.Play();
            Assert.Equal(new List <int> {
                6, 1, 1, 1, 1
            }, game.GetValues());
        }