public CachingProviderTests() { _fakeFrameworkContext = new FakeFrameworkContext(); var inMemory = new NHibernateInMemoryRepository(_fakeFrameworkContext); var dataContextFactory = new DataContextFactory(); var readWriteUnitOfWorkFactory = new ReadWriteUnitOfWorkFactory(); var directReaderProvider = new HiveReadWriteProvider(new HiveProviderSetup(_fakeFrameworkContext, "r-unit-tester", new FakeHiveProviderBootstrapper(), readWriteUnitOfWorkFactory, readWriteUnitOfWorkFactory, dataContextFactory)); var directReadWriteProvider = directReaderProvider; // Create hive wrappers for the readers and writers var governorRUowFactory = new ReadOnlyUnitOfWorkFactoryWrapper(new[] { directReaderProvider, inMemory.HiveReadProvider }); var governorRWUowFactory = new ReadWriteUnitOfWorkFactoryWrapper(new[] { directReadWriteProvider, inMemory.ReadWriteProvider }); _readerProviderViaHiveGovernor = _directReaderProvider = new Framework.Hive.PersistenceGovernor.HiveReadProvider(new HiveProviderSetup(_fakeFrameworkContext, "r-unit-wrapper", new FakeHiveProviderBootstrapper(), governorRUowFactory, null, null), new[] { _directReaderProvider }); _readWriteProviderViaHiveGovernor = _directReadWriteProvider = new Framework.Hive.PersistenceGovernor.HiveReadWriteProvider(new HiveProviderSetup(_fakeFrameworkContext, "rw-unit-wrapper", new FakeHiveProviderBootstrapper(), governorRUowFactory, governorRWUowFactory, null), new[] { _directReadWriteProvider }); }