/// <summary> /// Gets the die roller based on specified type. /// </summary> /// <param name="type">Type string</param> /// <param name="tracker">Die roll tracker to use</param> /// <returns>Instance of die roller, or null if none found.</returns> public IDieRoller GetDieRoller(string type, IDieRollTracker tracker = null) { IDieRoller roller = null; if (type == typeof(ConstantDieRoller).ToString()) { roller = new ConstantDieRoller(); } else if (type == typeof(RandomDieRoller).ToString()) { roller = new RandomDieRoller(tracker); } else if (type == typeof(SecureRandomDieRoller).ToString()) { roller = new SecureRandomDieRoller(tracker); } else if (type == typeof(MathNetDieRoller).ToString()) { roller = new MathNetDieRoller(tracker); } else { throw new ArgumentOutOfRangeException(nameof(type)); } return(roller); }
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_DefaultConstructorTest() { // setup test // run test IDieRoller die = new SecureRandomDieRoller(); // validate results Assert.IsNotNull(die); Assert.IsInstanceOfType(die, typeof(IDieRoller)); Assert.IsInstanceOfType(die, typeof(SecureRandomDieRoller)); }
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); } }