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 void Serializable() { var eventSink = new SerializableClientTransactionEventSinkFake(); var stateUpdateListener = new VirtualEndPointStateUpdateListener(eventSink); var deserializedInstance = Serializer.SerializeAndDeserialize(stateUpdateListener); Assert.That(deserializedInstance.TransactionEventSink, Is.Not.Null); }
public override void SetUp() { base.SetUp(); _eventSinkWithWock = MockRepository.GenerateMock <IClientTransactionEventSink>(); _endPointID = RelationEndPointObjectMother.CreateRelationEndPointID(DomainObjectIDs.Order1, "OrderItems"); _stateUpdateListener = new VirtualEndPointStateUpdateListener(_eventSinkWithWock); }