public void Setup() { IEventStore eventStore = new TestInMemoryEventStore(); var eventpubliser = new TestEventPublisher(); _snapshotStore = new TestInMemorySnapshotStore(); _rep = new Repository <TestSnapshotAggreagate>(eventStore, _snapshotStore, eventpubliser); var aggregate = new TestSnapshotAggreagate(); for (int i = 0; i < 20; i++) { aggregate.DoSomething(); _rep.Save(aggregate, i); } }
public When_saving_a_snapshotable_aggregate_for_each_change() { IEventStore eventStore = new TestInMemoryEventStore(); _snapshotStore = new TestInMemorySnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy(); var repository = new SnapshotRepository(_snapshotStore, snapshotStrategy, new Repository(eventStore), eventStore); _session = new Session(repository); _aggregate = new TestSnapshotAggregate(); for (var i = 0; i < 150; i++) { _session.Add(_aggregate); _aggregate.DoSomething(); _session.Commit(); } }
public SaveSnapshotableAggregateForEachChange() { IEventStore eventStore = new TestInMemoryEventStore(); _snapshotStore = new TestInMemorySnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy(_snapshotStore); var repository = new SnapshotRepository(_snapshotStore, snapshotStrategy, new Repository(eventStore), eventStore); _session = new Session(repository); _aggregate = new TestSnapshotAggregate(); for (var i = 0; i < 150; i++) { _session.Add(_aggregate); _aggregate.DoSomething(); _session.CommitAsync().Wait(); } }
public void Setup() { IEventStore eventStore = new TestInMemoryEventStore(); var eventPublisher = new TestEventPublisher(); _snapshotStore = new TestInMemorySnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy(); var repository = new SnapshotRepository(_snapshotStore, snapshotStrategy, new Repository(eventStore, eventPublisher), eventStore); _session = new Session(repository); _aggregate = new TestSnapshotAggregate(); for (var i = 0; i < 20; i++) { _session.Add(_aggregate); _aggregate.DoSomething(); _session.Commit(); } }
public void Setup() { IEventStore <ISingleSignOnToken> eventStore = new TestInMemoryEventStore(); var eventPublisher = new TestEventPublisher(); _snapshotStore = new TestInMemorySnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy <ISingleSignOnToken>(); var aggregateFactory = new AggregateFactory(new TestDependencyResolver()); var repository = new SnapshotRepository <ISingleSignOnToken>(_snapshotStore, snapshotStrategy, new Repository <ISingleSignOnToken>(aggregateFactory, eventStore, eventPublisher, new NullCorrelationIdHelper()), eventStore, aggregateFactory); _unitOfWork = new UnitOfWork <ISingleSignOnToken>(repository); _aggregate = new TestSnapshotAggregate(); for (var i = 0; i < 20; i++) { _unitOfWork.Add(_aggregate); _aggregate.DoSomething(); _unitOfWork.Commit(); } }
public When_saving_a_snapshotable_aggregate_with_custom_interval() { IEventStore eventStore = new TestInMemoryEventStore(); _snapshotStore = new TestInMemorySnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy(23); var repository = new SnapshotRepository(_snapshotStore, snapshotStrategy, new Repository(eventStore), eventStore); _session = new Session(repository); _aggregate = new TestSnapshotAggregate(Guid.NewGuid()); Task.Run(async() => { for (var i = 0; i < 50; i++) { await _session.Add(_aggregate); _aggregate.DoSomething(); await _session.Commit(); } }).Wait(); }