public static void SerializeTest() { var target = new EventCommandList(GenerateEventCommandList(3)); var clone = DeepCloner.DeepClone(target); Assert.IsTrue(clone.Equals(target)); }
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]); }
public static void GetMinCapacityTest() { var instance = new EventCommandList(); var maxCapacity = instance.GetMinCapacity(); // 取得した値が容量最大値と一致すること Assert.AreEqual(maxCapacity, EventCommandList.MinCapacity); }
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); }
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); } }
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); }
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); }
// 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(); } }
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))); } }
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 = ""; }