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)); }
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); } }