/// <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 Configure(RollerType rollerType, bool enableTracker = false, int constantValue = 1) { RollTracker = enableTracker ? new DieRollTracker() : null; switch (rollerType) { case RollerType.Random: DieRoller = new RandomDieRoller(RollTracker); break; case RollerType.Crypto: DieRoller = new CryptoDieRoller(RollTracker); break; case RollerType.MathNet: DieRoller = new MathNetDieRoller(RollTracker); break; case RollerType.Constant: DieRoller = new ConstantDieRoller(constantValue); break; default: throw new ArgumentOutOfRangeException(nameof(rollerType)); } }
public void RandomDieRoller_Rolld6Test() { // setup test IDieRoller die = new RandomDieRoller(); // run test int result = die.Roll(6); // validate results AssertHelpers.IsWithinRangeInclusive(1, 6, result); }
public void RandomDieRoller_DefaultConstructorTest() { // setup test // run test IDieRoller die = new RandomDieRoller(); // validate results Assert.IsNotNull(die); Assert.IsInstanceOfType(die, typeof(IDieRoller)); Assert.IsInstanceOfType(die, typeof(RandomDieRoller)); }
public void RandomDieRoller_ConstructorRandomGeneratorTest() { // setup test Random rand = new Random(42); // run test IDieRoller die = new RandomDieRoller(rand, null); // validate results Assert.IsNotNull(die); Assert.IsInstanceOfType(die, typeof(IDieRoller)); Assert.IsInstanceOfType(die, typeof(RandomDieRoller)); }