コード例 #1
0
        public void MarkDataComplete()
        {
            Action <IVirtualObjectEndPointDataManager> stateSetter = null;

            _loadStateMock
            .Expect(mock => mock.MarkDataComplete(Arg.Is(_endPoint), Arg.Is(_oppositeObject), Arg <Action <IVirtualObjectEndPointDataManager> > .Is.Anything))
            .WhenCalled(mi => { stateSetter = (Action <IVirtualObjectEndPointDataManager>)mi.Arguments[2]; });
            _loadStateMock.Replay();

            _endPoint.MarkDataComplete(_oppositeObject);

            _loadStateMock.VerifyAllExpectations();

            Assert.That(VirtualObjectEndPointTestHelper.GetLoadState(_endPoint), Is.SameAs(_loadStateMock));

            var dataManagerStub = MockRepository.GenerateStub <IVirtualObjectEndPointDataManager>();

            stateSetter(dataManagerStub);

            var newLoadState = VirtualObjectEndPointTestHelper.GetLoadState(_endPoint);

            Assert.That(newLoadState, Is.Not.SameAs(_loadStateMock));
            Assert.That(newLoadState, Is.TypeOf(typeof(CompleteVirtualObjectEndPointLoadState)));

            Assert.That(((CompleteVirtualObjectEndPointLoadState)newLoadState).DataManager, Is.SameAs(dataManagerStub));
            Assert.That(((CompleteVirtualObjectEndPointLoadState)newLoadState).TransactionEventSink, Is.SameAs(_transactionEventSinkStub));
            Assert.That(((CompleteVirtualObjectEndPointLoadState)newLoadState).EndPointProvider, Is.SameAs(_endPointProviderStub));
        }
コード例 #2
0
 public static ObjectEndPoint CreateObjectEndPoint(RelationEndPointID endPointID, ObjectID oppositeObjectID)
 {
     if (endPointID.Definition.IsVirtual)
     {
         var clientTransaction          = ClientTransaction.Current;
         VirtualObjectEndPoint endPoint = CreateVirtualObjectEndPoint(endPointID, clientTransaction);
         endPoint.MarkDataComplete(LifetimeService.GetObjectReference(clientTransaction, oppositeObjectID));
         return(endPoint);
     }
     else
     {
         var endPoint = CreateRealObjectEndPoint(endPointID);
         RealObjectEndPointTestHelper.SetValueViaDataContainer(endPoint, oppositeObjectID);
         endPoint.Commit();
         return(endPoint);
     }
 }