Exemplo n.º 1
0
        public void Setup()
        {
            GlobalReference.GlobalValues = new GlobalValues();

            spell                       = new UnitTestSpell();
            npc                         = new Mock <INonPlayerCharacter>();
            command                     = new Mock <ICommand>();
            parameter0                  = new Mock <IParameter>();
            tagWrapper                  = new Mock <ITagWrapper>();
            effect                      = new Mock <IEffect>();
            notify                      = new Mock <INotify>();
            room                        = new Mock <IRoom>();
            effectParameter             = new Mock <IEffectParameter>();
            translationMessageRoom      = new Mock <ITranslationMessage>();
            translationMessageTarget    = new Mock <ITranslationMessage>();
            translationMessagePerformer = new Mock <ITranslationMessage>();
            stringManipulator           = new Mock <IStringManipulator>();

            translationMessageRoom.Setup(e => e.GetTranslatedMessage(npc.Object)).Returns("roomNotify");
            translationMessageTarget.Setup(e => e.GetTranslatedMessage(npc.Object)).Returns("targetNotify");
            translationMessagePerformer.Setup(e => e.GetTranslatedMessage(npc.Object)).Returns("performNotify");
            spell.Effect   = effect.Object;
            spell.ManaCost = 1;
            spell.RoomNotificationSuccess      = translationMessageRoom.Object;
            spell.TargetNotificationSuccess    = translationMessageTarget.Object;
            spell.PerformerNotificationSuccess = translationMessagePerformer.Object;
            spell.Parameter = effectParameter.Object;
            npc.Setup(e => e.Mana).Returns(2);
            npc.Setup(e => e.Room).Returns(room.Object);
            command.Setup(e => e.Parameters).Returns(new List <IParameter>()
            {
                parameter0.Object
            });
            parameter0.Setup(e => e.ParameterValue).Returns("param0");
            tagWrapper.Setup(e => e.WrapInTag(It.IsAny <string>(), TagType.Info)).Returns((string x, TagType y) => (x));
            effectParameter.Setup(e => e.Target).Returns(npc.Object);
            stringManipulator.Setup(e => e.UpdateTargetPerformer(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns((string x, string y, string z) => z);

            GlobalReference.GlobalValues.TagWrapper        = tagWrapper.Object;
            GlobalReference.GlobalValues.Notify            = notify.Object;
            GlobalReference.GlobalValues.StringManipulator = stringManipulator.Object;
        }
Exemplo n.º 2
0
        public void Setup()
        {
            spell                       = new UnitTestSpell();
            npc                         = new Mock <INonPlayerCharacter>();
            command                     = new Mock <ICommand>();
            parameter0                  = new Mock <IParameter>();
            tagWrapper                  = new Mock <ITagWrapper>();
            effect                      = new Mock <IEffect>();
            notify                      = new Mock <INotify>();
            room                        = new Mock <IRoom>();
            effectParameter             = new Mock <IEffectParameter>();
            translationMessageRoom      = new Mock <ITranslationMessage>();
            translationMessageTarget    = new Mock <ITranslationMessage>();
            translationMessagePerformer = new Mock <ITranslationMessage>();

            translationMessageRoom.Setup(e => e.GetTranslatedMessage(npc.Object)).Returns("roomNotify");
            translationMessageTarget.Setup(e => e.GetTranslatedMessage(npc.Object)).Returns("targetNotify");
            translationMessagePerformer.Setup(e => e.GetTranslatedMessage(npc.Object)).Returns("performNotify");
            spell.Effect                = effect.Object;
            spell.ManaCost              = 1;
            spell.RoomNotification      = translationMessageRoom.Object;
            spell.TargetNotification    = translationMessageTarget.Object;
            spell.PerformerNotification = translationMessagePerformer.Object;
            spell.Parameter             = effectParameter.Object;
            npc.Setup(e => e.Mana).Returns(2);
            npc.Setup(e => e.Room).Returns(room.Object);
            command.Setup(e => e.Parameters).Returns(new List <IParameter>()
            {
                parameter0.Object
            });
            parameter0.Setup(e => e.ParameterValue).Returns("param0");
            tagWrapper.Setup(e => e.WrapInTag("You need 1 mana to cast the spell param0.", TagWrapper.TagType.Info)).Returns("NotEnoughMana");
            tagWrapper.Setup(e => e.WrapInTag("roomNotify", TagWrapper.TagType.Info)).Returns("room");
            tagWrapper.Setup(e => e.WrapInTag("targetNotify", TagWrapper.TagType.Info)).Returns("target");
            tagWrapper.Setup(e => e.WrapInTag("performNotify", TagWrapper.TagType.Info)).Returns("perform");
            effectParameter.Setup(e => e.Target).Returns(npc.Object);



            GlobalReference.GlobalValues.TagWrapper = tagWrapper.Object;
            GlobalReference.GlobalValues.Notify     = notify.Object;
        }