コード例 #1
0
        public void When_updating_single_event_Tests()
        {
            var chain = new EventsAdaptersCatalog();

            chain.Register(new DomainEventUpdater3());
            var balanceAggregate = new BalanceAggregate(Guid.NewGuid(), 10);

            _initialEvent = new TestEvent_V2(balanceAggregate.Id);
            _resultEvent  = chain.Update(_initialEvent).OfType <TestEvent_V3>();
        }
コード例 #2
0
        public async Task <T> LoadAggregate <T>(string id, IConstructAggregates factory = null) where T : IAggregate
        {
            var agr       = (factory ?? DefaultFactory).BuildEmpty <T>(id);
            var persistId = EntityActorName.New <T>(id).ToString();
            var events    = await _eventRepository.Load(persistId);

            foreach (var e in events.SelectMany(e => _eventsAdaptersCatalog.Update(e).Cast <DomainEvent>()))
            {
                agr.Apply(e);
            }
            return(agr);
        }
        public void When_updating_single_event_Tests()
        {
            var chain = new EventsAdaptersCatalog();

            chain.Register(new DomainEventUpdater1());
            chain.Register(new DomainEventUpdater2());

            var balanceAggregate = new BalanceAggregate(Guid.NewGuid(), 10);

            _initialEvent = new TestEvent(balanceAggregate.Id);
            _resultEvent  = chain.Update(_initialEvent).FirstOrDefault() as TestEvent_V2;
        }
コード例 #4
0
        public T LoadAggregate <T>(Guid id) where T : AggregateBase
        {
            var agr       = Aggregate.Empty <T>(id);
            var persistId = AggregateActorName.New <T>(id).ToString();
            var events    = _eventRepository.Load(persistId);

            foreach (var e in events.SelectMany(e => _eventsAdaptersCatalog.Update(e)))
            {
                ((IAggregate)agr).ApplyEvent(e);
            }
            return(agr);
        }
コード例 #5
0
        public void When_updating_single_event_Tests()
        {
            var chain = new EventsAdaptersCatalog();

            chain.Register(new DomainEventUpdater3());
            var balanceAggregate = new BalanceAggregate(Guid.NewGuid(), 10);

            _initialEvent = new TestEvent_V2(balanceAggregate.Id);
            _resultEvent  = chain.Update(_initialEvent).OfType <TestEvent_V3>();

            //Events_type_was_updated()
            Assert.IsAssignableFrom <TestEvent_V3>(_resultEvent.FirstOrDefault());
            //All_events_were_produced()
            Assert.Equal(2, _resultEvent.Count());
            //Event_id_was_remained()
            Assert.True(_resultEvent.All(e => e.SourceId == _initialEvent.SourceId));
        }
        public void When_updating_single_event_Tests()
        {
            var chain = new EventsAdaptersCatalog();

            chain.Register(new DomainEventUpdater1());
            chain.Register(new DomainEventUpdater2());

            var balanceAggregate = new BalanceAggregate(Guid.NewGuid(), 10);

            _initialEvent = new TestEvent(balanceAggregate.Id);
            _resultEvent  = chain.Update(_initialEvent).FirstOrDefault() as TestEvent_V2;
            // Event_type_was_updated()
            Assert.IsAssignableFrom <TestEvent_V2>(_resultEvent);
            //Event_id_was_remained()
            Assert.Equal(_initialEvent.SourceId, _resultEvent.SourceId);
            //Event_Field_was_remained()
            Assert.Equal(_initialEvent.Field, _resultEvent.Field3);
        }