protected override IRelationEndPointManager CreateRelationEndPointManager( ClientTransaction constructedTransaction, IRelationEndPointProvider endPointProvider, ILazyLoader lazyLoader, IClientTransactionEventSink eventSink) { ArgumentUtility.CheckNotNull("constructedTransaction", constructedTransaction); ArgumentUtility.CheckNotNull("endPointProvider", endPointProvider); ArgumentUtility.CheckNotNull("lazyLoader", lazyLoader); ArgumentUtility.CheckNotNull("eventSink", eventSink); var endPointChangeDetectionStrategy = new RootCollectionEndPointChangeDetectionStrategy(); var collectionEndPointDataManagerFactory = new CollectionEndPointDataManagerFactory(endPointChangeDetectionStrategy); var virtualObjectEndPointDataManagerFactory = new VirtualObjectEndPointDataManagerFactory(); var relationEndPointFactory = CreateRelationEndPointFactory( constructedTransaction, endPointProvider, lazyLoader, eventSink, virtualObjectEndPointDataManagerFactory, collectionEndPointDataManagerFactory); var virtualEndPointStateUpdateListener = new VirtualEndPointStateUpdateListener(eventSink); var stateUpdateRaisingRelationEndPointFactory = new StateUpdateRaisingRelationEndPointFactoryDecorator( relationEndPointFactory, virtualEndPointStateUpdateListener); var relationEndPointRegistrationAgent = new RootRelationEndPointRegistrationAgent(endPointProvider); return(new RelationEndPointManager( constructedTransaction, lazyLoader, eventSink, stateUpdateRaisingRelationEndPointFactory, relationEndPointRegistrationAgent)); }
public override void SetUp() { base.SetUp(); _changeDetectionStrategy = MockRepository.GenerateStub <ICollectionEndPointChangeDetectionStrategy>(); _factory = new CollectionEndPointDataManagerFactory(_changeDetectionStrategy); }
public void Serializable() { var changeDetectionStrategy = new SerializableCollectionEndPointChangeDetectionStrategyFake(); var factory = new CollectionEndPointDataManagerFactory(changeDetectionStrategy); var deserializedInstance = Serializer.SerializeAndDeserialize(factory); Assert.That(deserializedInstance.ChangeDetectionStrategy, Is.Not.Null); }