public void AddEvent <TEntity>(string bucket, Id streamId, Id[] parents, Messages.IEvent @event) where TEntity : IEntity { var key = $"{typeof(TEntity).FullName}.{bucket}.{streamId}.{parents.BuildParentsString()}"; var fullEvent = new FullEvent { Descriptor = new EventDescriptor(), Event = @event, EventId = Guid.NewGuid() }; if (!_events.ContainsKey(key)) { _events[key] = new[] { fullEvent } } ; else { _events[key] = _events[key].Concat(new[] { fullEvent }).ToArray(); } }
public DidNotRaisedException(Messages.IEvent expectedEvent, Messages.IEvent[] raisedEvents) { var raised = raisedEvents.Any() ? raisedEvents.Select(x => JsonConvert.SerializeObject(x)).Aggregate((cur, next) => $"{cur}\n{next}") : "No raised events"; _message = $"Expected raise: {JsonConvert.SerializeObject(expectedEvent)} did not occur.\nRaised Events:\n{raised}"; }