public override void SetUp() { base.SetUp(); _virtualEndPointProviderStub = MockRepository.GenerateStub <IVirtualEndPointProvider>(); _factory = new AssociatedCollectionDataStrategyFactory(_virtualEndPointProviderStub); }
protected virtual RelationEndPointFactory CreateRelationEndPointFactory( ClientTransaction constructedTransaction, IRelationEndPointProvider endPointProvider, ILazyLoader lazyLoader, IClientTransactionEventSink eventSink, IVirtualObjectEndPointDataManagerFactory virtualObjectEndPointDataManagerFactory, ICollectionEndPointDataManagerFactory collectionEndPointDataManagerFactory) { ArgumentUtility.CheckNotNull("constructedTransaction", constructedTransaction); ArgumentUtility.CheckNotNull("endPointProvider", endPointProvider); ArgumentUtility.CheckNotNull("lazyLoader", lazyLoader); ArgumentUtility.CheckNotNull("eventSink", eventSink); ArgumentUtility.CheckNotNull("virtualObjectEndPointDataManagerFactory", virtualObjectEndPointDataManagerFactory); ArgumentUtility.CheckNotNull("collectionEndPointDataManagerFactory", collectionEndPointDataManagerFactory); var associatedCollectionDataStrategyFactory = new AssociatedCollectionDataStrategyFactory(endPointProvider); var collectionEndPointCollectionProvider = new CollectionEndPointCollectionProvider(associatedCollectionDataStrategyFactory); return(new RelationEndPointFactory( constructedTransaction, endPointProvider, lazyLoader, eventSink, virtualObjectEndPointDataManagerFactory, collectionEndPointDataManagerFactory, collectionEndPointCollectionProvider, associatedCollectionDataStrategyFactory)); }
public static CollectionEndPoint CreateCollectionEndPoint( RelationEndPointID endPointID, IEnumerable <DomainObject> initialContents, ClientTransaction clientTransaction = null) { clientTransaction = clientTransaction ?? ClientTransactionScope.CurrentTransaction; var dataManager = ClientTransactionTestHelper.GetDataManager(clientTransaction); var changeDetectionStrategy = new RootCollectionEndPointChangeDetectionStrategy(); var dataStrategyFactory = new AssociatedCollectionDataStrategyFactory(dataManager); var collectionEndPoint = new CollectionEndPoint( clientTransaction, endPointID, new CollectionEndPointCollectionManager(endPointID, new CollectionEndPointCollectionProvider(dataStrategyFactory), dataStrategyFactory), dataManager, dataManager, ClientTransactionTestHelper.GetEventBroker(clientTransaction), new CollectionEndPointDataManagerFactory(changeDetectionStrategy)); if (initialContents != null) { CollectionEndPointTestHelper.FillCollectionEndPointWithInitialContents(collectionEndPoint, initialContents); } return(collectionEndPoint); }
public void TransformToAssociated() { var endPointID = RelationEndPointID.Create(DomainObjectIDs.Customer1, typeof(Customer), "Orders"); var originalCollectionDataStrategy = DomainObjectCollectionDataTestHelper.GetDataStrategy(_collection); var originalCollectionContents = _collection.Cast <DomainObject> ().ToArray(); var originalEndPointContents = ((ICollectionEndPoint)TestableClientTransaction.DataManager.GetRelationEndPointWithLazyLoad(endPointID)).GetData().ToArray(); var associatedCollectionDataStrategyFactory = new AssociatedCollectionDataStrategyFactory(TestableClientTransaction.DataManager); var result = ((IAssociatableDomainObjectCollection)_collection).TransformToAssociated(endPointID, associatedCollectionDataStrategyFactory); DomainObjectCollectionDataTestHelper.CheckAssociatedCollectionStrategy(_collection, typeof(Order), endPointID); Assert.That(result, Is.SameAs(originalCollectionDataStrategy)); Assert.That(result, Is.EqualTo(originalCollectionContents)); Assert.That(_collection, Is.EqualTo(originalEndPointContents)); }