public void Setup() { GlobalReference.GlobalValues = new GlobalValues(); defaultValues = new Mock <IDefaultValues>(); level1Dice = new Mock <IDice>(); level5Dice = new Mock <IDice>(); damageNonFire = new Mock <IDamage>(); damageFire = new Mock <IDamage>(); attacker1 = new Mock <IMobileObject>(); attacker2 = new Mock <IMobileObject>(); evnt = new Mock <IEvent>(); engine = new Mock <IEngine>(); notify = new Mock <INotify>(); tagWrapper = new Mock <ITagWrapper>(); defaultValues.Setup(e => e.DiceForWeaponLevel(1)).Returns(level1Dice.Object); defaultValues.Setup(e => e.DiceForWeaponLevel(5)).Returns(level5Dice.Object); damageNonFire.Setup(e => e.Type).Returns(DamageType.Acid); damageFire.Setup(e => e.Type).Returns(DamageType.Fire); engine.Setup(e => e.Event).Returns(evnt.Object); tagWrapper.Setup(e => e.WrapInTag(It.IsAny <string>(), TagType.Info)).Returns((string x, TagType y) => (x)); GlobalReference.GlobalValues.DefaultValues = defaultValues.Object; GlobalReference.GlobalValues.Engine = engine.Object; GlobalReference.GlobalValues.Notify = notify.Object; GlobalReference.GlobalValues.TagWrapper = tagWrapper.Object; hydra = new Hydra(); hydra.Level = 20; hydra.ConstitutionStat = 10; //needs to be set so when max stats are reset it will calculate correctly newHeadsToGrow = hydra.GetType().GetProperty("NewHeadsToGrow", BindingFlags.Instance | BindingFlags.NonPublic); tookFireDamage = hydra.GetType().GetProperty("TookFireDamage", BindingFlags.Instance | BindingFlags.NonPublic); roundOfDamage = hydra.GetType().GetProperty("RoundOfDamage", BindingFlags.Instance | BindingFlags.NonPublic); }