示例#1
0
        public AggregateEventRouterTests()
        {
            aggregate = Substitute.For <IAggregateRoot>();
            aggregate.Id.Returns(Guid.NewGuid());

            sut = new AggregateEventRouter(aggregate);
        }
        public void RegisterEvents_RegistersAllHandlers()
        {
            var sut = new ConventionEventApplyRegistrator();

            var entity    = new MyEntity();
            var aggregate = Substitute.For <IAggregateRoot>();
            var router    = new AggregateEventRouter(aggregate);

            sut.RegisterEvents(entity, router);
            var ev1 = new Event1();

            router.Publish(ev1);

            Assert.Equal(ev1, entity.Events[0]);
        }
示例#3
0
 /// <summary>
 /// Only to be used by by ORMs like EF and the second chained constructor.
 /// </summary>
 protected AggregateRoot()
 {
     EventRouter = new AggregateEventRouter(this);
 }
示例#4
0
 public AggregateRoot(Guid id) : base(id)
 {
     EventRouter = new AggregateEventRouter(this);
 }