Пример #1
0
        public static void SerializeTest()
        {
            var target = new EventCommandList(GenerateEventCommandList(3));
            var clone  = DeepCloner.DeepClone(target);

            Assert.IsTrue(clone.Equals(target));
        }
Пример #2
0
 public EventCommandProcessor(Text messageText, int eventID, EventCommandList commandList)
 {
     this.messageText = messageText;
     this.eventID     = eventID;
     this.commandList = commandList;
     commandReader    = new WolfCommandReader(this);
     runner           = commandReader.ReadCommand(commandList[0]);
 }
Пример #3
0
        public static void GetMinCapacityTest()
        {
            var instance    = new EventCommandList();
            var maxCapacity = instance.GetMinCapacity();

            // 取得した値が容量最大値と一致すること
            Assert.AreEqual(maxCapacity, EventCommandList.MinCapacity);
        }
Пример #4
0
        public ICommandRunner[] ReadCommands(EventCommandList list)
        {
            var runners = new ICommandRunner[list.Count];

            for (int i = 0; i < list.Count; i++)
            {
                runners[i] = ReadCommand(list[i]);
            }
            return(runners);
        }
Пример #5
0
        public void PublishEvents(IAggregateRoot aggRoot, ICommand c)
        {
            if (aggRoot == null)
            {
                throw new ArgumentNullException("aggRoot");
            }

            foreach (IEvent e in aggRoot.PendingEvents)
            {
                EventCommandList.Add(new EventCommandPair(e, c, aggRoot.AggregateId));
                EventList.Add(e);
            }
        }
Пример #6
0
        public static void ValidateTest(IReadOnlyList <IEventCommand> commands, bool result)
        {
            var instance            = new EventCommandList(commands);
            var validFlag           = instance.Validate();
            var changedPropertyList = new List <string>();

            instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); };

            // エラーフラグが一致すること
            Assert.AreEqual(validFlag, result);

            // プロパティ変更通知が発火していないこと
            Assert.AreEqual(changedPropertyList.Count, 0);
        }
Пример #7
0
        public static void ConstructorTest(int length, bool isError)
        {
            var errorOccured = false;

            try
            {
                var pageList = length == -1 ? null : GenerateEventCommandList(length);
                var _        = new EventCommandList(pageList);
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

            // エラーフラグが一致すること
            Assert.AreEqual(errorOccured, isError);
        }
Пример #8
0
        // Update is called once per frame
        void Update()
        {
            if (!readDone && CoreData.Instance.isReadCompleted)
            {
                readDone = true;
                MapDataHandler handler = new MapDataHandler();
                int            mapID   = CoreData.Instance.currentMapID;
                Debug.Log(mapID);
                EventCommandList events
                          = CoreData.Instance.mapDataArray[mapID].GetMapEvent(0).MapEventPageList[0].EventCommands;
                processor = new EventCommandProcessor(text, 0, events);
                return;
            }

            if (readDone)
            {
                processor.Run();
            }
        }
Пример #9
0
        public static void EventCommandsTest(EventCommandList list, bool isError)
        {
            var instance            = new CommonEvent();
            var changedPropertyList = new List <string>();

            instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); };

            var errorOccured = false;

            try
            {
                instance.EventCommands = list;
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

            // エラーフラグが一致すること
            Assert.AreEqual(errorOccured, isError);

            if (!errorOccured)
            {
                var setValue = instance.EventCommands;

                // セットした値と取得した値が一致すること
                Assert.IsTrue(ReferenceEquals(setValue, list));
            }

            // 意図したとおりプロパティ変更通知が発火していること
            if (errorOccured)
            {
                Assert.AreEqual(changedPropertyList.Count, 0);
            }
            else
            {
                Assert.AreEqual(changedPropertyList.Count, 1);
                Assert.IsTrue(changedPropertyList[0].Equals(nameof(CommonEvent.EventCommands)));
            }
        }
Пример #10
0
        public static void EventCommandsOwnerTest()
        {
            var assignValue  = new AssignValue();
            var assignValue2 = new AssignValue();
            var addValue     = new AddValue();
            var addValue2    = new AddValue();

            // この時点で EventCommand の Owner が null であることを確認
            Assert.IsNull(assignValue.Owner);
            Assert.IsNull(assignValue2.Owner);
            Assert.IsNull(addValue.Owner);
            Assert.IsNull(addValue2.Owner);

            var commonEvent = new CommonEvent();

            var list = new EventCommandList();

            var moveRoute = new MoveRoute();

            var actionEntry = new ActionEntry();

            actionEntry.CommandList.Add(assignValue);
            actionEntry.CommandList.Add(addValue);

            // この時点で EventCommandList, MoveRoute, ActionEntry, EventCommand の Owner が null であることを確認
            Assert.IsNull(list.Owner);
            Assert.IsNull(moveRoute.Owner);
            Assert.IsNull(actionEntry.Owner);
            Assert.IsNull(assignValue.Owner);
            Assert.IsNull(assignValue2.Owner);
            Assert.IsNull(addValue.Owner);
            Assert.IsNull(addValue2.Owner);

            moveRoute.ActionEntry = actionEntry;
            list.Add(moveRoute);

            // この時点で EventCommand の Owner が null であることを確認
            Assert.IsNull(assignValue.Owner);
            Assert.IsNull(assignValue2.Owner);
            Assert.IsNull(addValue.Owner);
            Assert.IsNull(addValue2.Owner);

            commonEvent.EventCommands = list;

            // この時点で EventCommandList, MoveRoute, ActionEntry, セット済みのEventCommand の
            // Owner がセットされていることを確認
            Assert.AreEqual(list.Owner, TargetAddressOwner.CommonEvent);
            Assert.AreEqual(moveRoute.Owner, TargetAddressOwner.CommonEvent);
            Assert.AreEqual(assignValue.Owner, TargetAddressOwner.CommonEvent);
            Assert.AreEqual(addValue.Owner, TargetAddressOwner.CommonEvent);

            actionEntry.CommandList.Add(assignValue2);
            moveRoute.ActionEntry.CommandList.Add(addValue2);

            // EventCommand の Owner に適切な値が設定されること
            Assert.AreEqual(assignValue2.Owner, TargetAddressOwner.CommonEvent);
            Assert.AreEqual(addValue2.Owner, TargetAddressOwner.CommonEvent);

            // commonEvent をここまで開放したくないので無駄な処理を入れる
            commonEvent.Memo = "";
        }