public virtual void UpdateName(string newName, DateTime dateUpdatedUtc) { if (_name.Equals(newName)) { return; } Apply(new BoardNameUpdated { Id = _id, Name = UpdatedInfo.From(_name).To(newName), DateUpdatedUtc = dateUpdatedUtc, }); }
public void SplitTest() { var changeSet = new ChangeSet(); //30 changeSet.TrackChange(1, 1, 1); changeSet.TrackChange(2, 2, 1); //30 changeSet.TrackChange(1, 1, (int?)1); changeSet.TrackChange(2, 2, (int?)1); changeSet.TrackChange(3, 2, (int?)1); //20 changeSet.TrackChange(1, 1, (byte)1); changeSet.TrackChange(2, 2, (byte)1); changeSet.TrackChange(2, 3, (byte)1); //20 changeSet.TrackChange(1, 1, (byte?)1); changeSet.TrackChange(2, 3, (byte?)1); changeSet.TrackChange(2, 3, (byte?)1); //30 changeSet.TrackChange(1, 1, (float?)1); changeSet.TrackChange(2, 2, (float?)1); var size = changeSet.GetSizeInBytes(); Assert.AreEqual(120, size); var splited = UpdateInfoHelper.Split(changeSet, 5); Assert.AreEqual(5, splited.Count); var updateInfo = new UpdatedInfo(changeSet, 3); var splitedUpdateInfo = UpdateInfoHelper.Split(updateInfo, 60); Assert.AreEqual(3, splitedUpdateInfo.Count); updateInfo = new UpdatedInfo(changeSet, 3); splitedUpdateInfo = UpdateInfoHelper.Split(updateInfo, 80); Assert.AreEqual(2, splitedUpdateInfo.Count); updateInfo = new UpdatedInfo(changeSet, 3); splitedUpdateInfo = UpdateInfoHelper.Split(updateInfo, 300); Assert.AreEqual(1, splitedUpdateInfo.Count); }
public void UpdateName_ShouldApplyBoardNameUpdatedEvent() { Scenario.ForCommand(() => new Board()) .Given(new BoardCreated { Id = Model.Id, Name = Model.Name, DateCreatedUtc = Model.DateUtc, }) .When(board => board.UpdateName(Model.NewName, Model.DateUtc)) .Then(new BoardNameUpdated { Id = Model.Id, Name = UpdatedInfo.From(Model.Name).To(Model.NewName), DateUpdatedUtc = Model.DateUtc, }) .Assert(); }
public static List <UpdatedInfo> Split(UpdatedInfo updateInfo, int minSize) { var result = new List <UpdatedInfo>(); var currentSIze = updateInfo.GetSizeInBytes(); var parts = (currentSIze / minSize) + 1; if (parts == 1) { result.Add(updateInfo); } else { var changeSets = Split(updateInfo.ChangeSet, parts); foreach (var changeSet in changeSets) { result.Add(new UpdatedInfo(changeSet, updateInfo.Revision)); } } return(result); }