Example #1
0
        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);
        }