private object CallCreateBasicObjectLoader(
     SubClientTransactionComponentFactory factory,
     TestableClientTransaction constructedTransaction,
     IClientTransactionEventSink eventSink,
     IPersistenceStrategy persistenceStrategy,
     IInvalidDomainObjectManager invalidDomainObjectManager,
     IDataManager dataManager,
     ITransactionHierarchyManager hierarchyManager)
 {
     return(PrivateInvoke.InvokeNonPublicMethod(
                factory,
                "CreateBasicObjectLoader",
                constructedTransaction,
                eventSink,
                persistenceStrategy,
                invalidDomainObjectManager,
                dataManager,
                hierarchyManager));
 }
        public override void SetUp()
        {
            base.SetUp();

            _parentTransaction = new TestableClientTransaction();
            _parentInvalidDomainObjectManagerStub  = MockRepository.GenerateStub <IInvalidDomainObjectManager> ();
            _parentEnlistedDomainObjectManagerStub = MockRepository.GenerateStub <IEnlistedDomainObjectManager> ();
            _parentTransactionHierarchyManagerStub = MockRepository.GenerateStub <ITransactionHierarchyManager> ();
            _parentTransactionHierarchyManagerStub
            .Stub(stub => stub.TransactionHierarchy)
            .Return(MockRepository.GenerateStub <IClientTransactionHierarchy>());
            _parentEventSink = MockRepository.GenerateStub <IClientTransactionEventSink>();

            _factory = SubClientTransactionComponentFactory.Create(
                _parentTransaction,
                _parentInvalidDomainObjectManagerStub,
                _parentEnlistedDomainObjectManagerStub,
                _parentTransactionHierarchyManagerStub,
                _parentEventSink);

            _fakeConstructedTransaction = new TestableClientTransaction();
        }