public void SecureRandomDieRoller_RollErrorTest()
        {
            // setup test
            IDieRoller die = new SecureRandomDieRoller();

            // run test
            Assert.ThrowsException <ArgumentOutOfRangeException>(() => die.Roll(0));

            // validate results
        }
        public void SecureRandomDieRoller_Rolld8Test()
        {
            // setup test
            IDieRoller die = new SecureRandomDieRoller();

            // run test
            int result = die.Roll(8);

            // validate results
            AssertHelpers.IsWithinRangeInclusive(1, 8, result);
        }
        public void SecureRandomDieRoller_RollThousanD6Test()
        {
            // setup test
            IDieRoller die = new SecureRandomDieRoller();

            // run test
            for (int i = 0; i < 1000; i++)
            {
                int result = die.Roll(6);

                // validate results
                AssertHelpers.IsWithinRangeInclusive(1, 6, result);
            }
        }
        public void SecureRandomDieRoller_RollMultipleFudgeTest()
        {
            // setup test
            IDieRoller die = new SecureRandomDieRoller();

            // run test
            for (int i = 0; i < 100; i++)
            {
                int result = die.Roll(3, -2);

                // validate results
                AssertHelpers.IsWithinRangeInclusive(-1, 1, result);
            }
        }