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(); _innerFactoryMock = MockRepository.GenerateStrictMock <IRelationEndPointFactory>(); _listenerStub = MockRepository.GenerateStub <IVirtualEndPointStateUpdateListener>(); _decorator = new StateUpdateRaisingRelationEndPointFactoryDecorator(_innerFactoryMock, _listenerStub); _decoratorTestHelper = new DecoratorTestHelper <IRelationEndPointFactory> (_decorator, _innerFactoryMock); }
public void Serialization() { var innerFactory = new SerializableRelationEndPointFactoryFake(); var listener = new SerializableVirtualEndPointStateUpdateListenerFake(); var decorator = new StateUpdateRaisingRelationEndPointFactoryDecorator(innerFactory, listener); var deserializedInstance = Serializer.SerializeAndDeserialize(decorator); Assert.That(deserializedInstance.InnerFactory, Is.Not.Null); Assert.That(deserializedInstance.Listener, Is.Not.Null); }