protected override void DoSetUp() { _eventStore = new MongoDbEventStore(MongoHelper.InitializeTestDatabase(), "Events"); _domainEventSerializer = new JsonDomainEventSerializer(); _domainTypeNameMapper = new DefaultDomainTypeNameMapper(); var snapshotCache = new InMemorySnapshotCache(); _realAggregateRootRepository = new DefaultAggregateRootRepository(_eventStore, _domainEventSerializer, _domainTypeNameMapper); _cachingAggregateRootRepository = new CachingAggregateRootRepositoryDecorator(_realAggregateRootRepository, snapshotCache, _eventStore, _domainEventSerializer); }
// ReSharper disable UnusedMember.Local void RunHashCodeTestWith <TAggregateRoot>() where TAggregateRoot : AggregateRoot, new() { var instance = new TAggregateRoot { Id = "root_id", GlobalSequenceNumberCutoff = 0 }; var cache = new InMemorySnapshotCache(); cache.PutCloneToCache(instance); var rootInfo = cache.GetCloneFromCache("root_id", 0); Assert.That(rootInfo, Is.Not.Null, "Expected to have found a root in the cache!"); var frozenInstance = rootInfo; cache.PutCloneToCache(frozenInstance); Assert.That(frozenInstance.GetHashCode(), Is.EqualTo(instance.GetHashCode())); }