public void Setup() { var eventStore = new TestEventStore(); var eventPublisher = new TestEventPublisher(); _snapshotStore = new TestSnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy(); var rep = new Repository<TestSnapshotAggregate>(eventStore, _snapshotStore, eventPublisher, snapshotStrategy); var aggregate = new TestSnapshotAggregate(); for (int i = 0; i < 30; i++) { aggregate.DoSomething(); } rep.Save(aggregate, 0); }
public void Setup() { var eventStore = new TestInMemoryEventStore(); _snapshotStore = new TestSnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy(); var repository = new SnapshotRepository(_snapshotStore, snapshotStrategy, new Repository(eventStore), eventStore); var session = new Session(repository); var aggregate = new TestSnapshotAggregate(); for (var i = 0; i < 200; i++) { aggregate.DoSomething(); } session.Add(aggregate); session.Commit(); }
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 When_saving_a_snapshotable_aggregate() { var eventStore = new TestInMemoryEventStore(); var eventPublisher = new TestEventPublisher(); _snapshotStore = new TestSnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy(); var repository = new SnapshotRepository(_snapshotStore, snapshotStrategy, new Repository(eventStore, eventPublisher), eventStore); var session = new Session(repository); var aggregate = new TestSnapshotAggregate(); for (var i = 0; i < 30; i++) { aggregate.DoSomething(); } session.Add(aggregate); session.Commit(); }
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); var aggregate = new TestSnapshotAggregate(); for (int i = 0; i < 20; i++) { _session.Add(aggregate); aggregate.DoSomething(); _session.Commit(); } }
public When_saving_a_snapshotable_aggregate() { _eventStore = new TestInMemoryEventStore(); _snapshotStore = new TestSnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy(); var repository = new SnapshotRepository(_snapshotStore, snapshotStrategy, new Repository(_eventStore), _eventStore); var session = new Session(repository); var aggregate = new TestSnapshotAggregate(); _token = new CancellationToken(); for (var i = 0; i < 200; i++) { aggregate.DoSomething(); } Task.Run(async() => { await session.Add(aggregate, _token); await session.Commit(_token); }).Wait(); }
public SaveSnapshotableAggregateForEachChange() { IEventStore eventStore = new TestInMemoryEventStore(); _snapshotStore = new TestInMemorySnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy(_snapshotStore); var repository = new SnapshotRepository(_snapshotStore, snapshotStrategy, new Repository(eventStore), eventStore); var eventStoreSettings = new TestEventStoreSettings { SessionLockEnabled = false }; _session = new Session(repository, eventStoreSettings, null); _aggregate = new TestSnapshotAggregate(); for (var i = 0; i < 150; i++) { _session.Add(_aggregate); _aggregate.DoSomething(); _session.CommitAsync().Wait(); } }
public WhenSavingASnapshotableAggregate() { var eventStore = new TestInMemoryEventStore(); _snapshotStore = new TestSnapshotStore(); var snapshotStrategy = new DefaultSnapshotStrategy(_snapshotStore); var repository = new SnapshotRepository(_snapshotStore, snapshotStrategy, new Repository(eventStore), eventStore); var eventStoreSettings = new TestEventStoreSettings { SessionLockEnabled = false }; var session = new Session(repository, eventStoreSettings, null); var aggregate = new TestSnapshotAggregate(); for (var i = 0; i < 200; i++) { aggregate.DoSomething(); } Task.Run(async() => { session.Add(aggregate); await session.CommitAsync(); }).Wait(); }