protected override IObjectLoader CreateObjectLoader( ClientTransaction constructedTransaction, IClientTransactionEventSink eventSink, IPersistenceStrategy persistenceStrategy, IInvalidDomainObjectManager invalidDomainObjectManager, IDataManager dataManager, ITransactionHierarchyManager hierarchyManager) { ArgumentUtility.CheckNotNull("constructedTransaction", constructedTransaction); ArgumentUtility.CheckNotNull("eventSink", eventSink); var fetchEnabledPersistenceStrategy = ArgumentUtility.CheckNotNullAndType <IFetchEnabledPersistenceStrategy> ("persistenceStrategy", persistenceStrategy); ArgumentUtility.CheckNotNull("invalidDomainObjectManager", invalidDomainObjectManager); ArgumentUtility.CheckNotNull("dataManager", dataManager); ArgumentUtility.CheckNotNull("hierarchyManager", hierarchyManager); var loadedObjectDataProvider = new LoadedObjectDataProvider(dataManager, invalidDomainObjectManager); var registrationListener = new LoadedObjectDataRegistrationListener(eventSink, hierarchyManager); var loadedObjectDataRegistrationAgent = new LoadedObjectDataRegistrationAgent(constructedTransaction, dataManager, registrationListener); IFetchedRelationDataRegistrationAgent registrationAgent = new DelegatingFetchedRelationDataRegistrationAgent( new FetchedRealObjectRelationDataRegistrationAgent(), new FetchedVirtualObjectRelationDataRegistrationAgent(dataManager), new FetchedCollectionRelationDataRegistrationAgent(dataManager)); var eagerFetcher = new EagerFetcher(registrationAgent); return(new FetchEnabledObjectLoader( fetchEnabledPersistenceStrategy, loadedObjectDataRegistrationAgent, loadedObjectDataProvider, eagerFetcher)); }
public void Serialization() { var agent = new DelegatingFetchedRelationDataRegistrationAgent( new FetchedRealObjectRelationDataRegistrationAgent(), new FetchedVirtualObjectRelationDataRegistrationAgent(new SerializableVirtualEndPointProviderFake()), new FetchedCollectionRelationDataRegistrationAgent(new SerializableVirtualEndPointProviderFake())); var deserializedAgent = Serializer.SerializeAndDeserialize(agent); Assert.That(deserializedAgent.RealObjectDataRegistrationAgent, Is.Not.Null); Assert.That(deserializedAgent.VirtualObjectDataRegistrationAgent, Is.Not.Null); Assert.That(deserializedAgent.CollectionDataRegistrationAgent, Is.Not.Null); }
public override void SetUp() { base.SetUp(); _mockRepository = new MockRepository(); _realObjectAgentMock = _mockRepository.StrictMock <IFetchedRelationDataRegistrationAgent> (); _virtualObjectAgentMock = _mockRepository.StrictMock <IFetchedRelationDataRegistrationAgent> (); _collectionAgentMock = _mockRepository.StrictMock <IFetchedRelationDataRegistrationAgent> (); _agent = new DelegatingFetchedRelationDataRegistrationAgent(_realObjectAgentMock, _virtualObjectAgentMock, _collectionAgentMock); _originatingObjects = new[] { MockRepository.GenerateStub <ILoadedObjectData>() }; _relatedObjects = new[] { LoadedObjectDataObjectMother.CreateLoadedObjectDataWithDataSourceData() }; }