public void Initialization()
        {
            var endPoint = new VirtualObjectEndPoint(
                ClientTransaction.Current,
                _endPointID,
                _lazyLoaderMock,
                _endPointProviderStub,
                _transactionEventSinkStub,
                _dataManagerFactory);

            Assert.That(endPoint.ID, Is.EqualTo(_endPointID));
            Assert.That(endPoint.ClientTransaction, Is.SameAs(TestableClientTransaction));
            Assert.That(endPoint.LazyLoader, Is.SameAs(_lazyLoaderMock));
            Assert.That(endPoint.EndPointProvider, Is.SameAs(_endPointProviderStub));
            Assert.That(endPoint.DataManagerFactory, Is.SameAs(_dataManagerFactory));
            Assert.That(endPoint.HasBeenTouched, Is.False);
            Assert.That(endPoint.IsDataComplete, Is.False);

            var loadState = VirtualObjectEndPointTestHelper.GetLoadState(endPoint);

            Assert.That(loadState, Is.TypeOf(typeof(IncompleteVirtualObjectEndPointLoadState)));
            Assert.That(((IncompleteVirtualObjectEndPointLoadState)loadState).DataManagerFactory, Is.SameAs(_dataManagerFactory));
            Assert.That(
                ((IncompleteVirtualObjectEndPointLoadState)loadState).EndPointLoader,
                Is.TypeOf <VirtualObjectEndPoint.EndPointLoader> ().With.Property <VirtualObjectEndPoint.EndPointLoader> (l => l.LazyLoader).SameAs(_lazyLoaderMock));
        }
        public override void SetUp()
        {
            base.SetUp();

            var endPointID = RelationEndPointID.Create(DomainObjectIDs.Employee3, ReflectionMappingHelper.GetPropertyName(typeof(Employee), "Computer"));

            _endPoint = (VirtualObjectEndPoint)
                        ((StateUpdateRaisingVirtualObjectEndPointDecorator)TestableClientTransaction.DataManager.GetRelationEndPointWithLazyLoad(endPointID))
                        .InnerEndPoint;
        }
 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);
     }
 }
        public override void SetUp()
        {
            base.SetUp();

            _employee1 = Employee.NewObject();

            _computer1 = Computer.NewObject();
            _computer2 = Computer.NewObject();

            _employee1.Computer = _computer1;

            TestableClientTransaction.CreateSubTransaction().EnterDiscardingScope();

            _employee1.Computer.EnsureDataAvailable();
            _virtualObjectEndPoint = (VirtualObjectEndPoint)GetEndPoint <StateUpdateRaisingVirtualObjectEndPointDecorator> (RelationEndPointID.Resolve(_employee1, o => o.Computer)).InnerEndPoint;

            _computer1EndPoint = GetEndPoint <RealObjectEndPoint> (RelationEndPointID.Resolve(_computer1, oi => oi.Employee));
            _computer2EndPoint = GetEndPoint <RealObjectEndPoint> (RelationEndPointID.Resolve(_computer2, oi => oi.Employee));
        }
        public override void SetUp()
        {
            base.SetUp();

            _endPointID = RelationEndPointObjectMother.CreateRelationEndPointID(DomainObjectIDs.Order1, "OrderTicket");

            _lazyLoaderMock           = MockRepository.GenerateStrictMock <ILazyLoader>();
            _endPointProviderStub     = MockRepository.GenerateStub <IRelationEndPointProvider> ();
            _transactionEventSinkStub = MockRepository.GenerateStub <IClientTransactionEventSink>();
            _dataManagerFactory       = new VirtualObjectEndPointDataManagerFactory();
            _loadStateMock            = MockRepository.GenerateStrictMock <IVirtualObjectEndPointLoadState> ();

            _endPoint = new VirtualObjectEndPoint(
                ClientTransaction.Current,
                _endPointID,
                _lazyLoaderMock,
                _endPointProviderStub,
                _transactionEventSinkStub,
                _dataManagerFactory);
            PrivateInvoke.SetNonPublicField(_endPoint, "_loadState", _loadStateMock);

            _oppositeEndPointStub = MockRepository.GenerateStub <IRealObjectEndPoint>();
            _oppositeObject       = DomainObjectMother.CreateFakeObject <OrderTicket>();
        }
예제 #6
0
 public static void SetLoadState(VirtualObjectEndPoint endPoint, IVirtualObjectEndPointLoadState loadState)
 {
     PrivateInvoke.SetNonPublicField(endPoint, "_loadState", loadState);
 }
예제 #7
0
 public static IVirtualObjectEndPointLoadState GetLoadState(VirtualObjectEndPoint endPoint)
 {
     return((IVirtualObjectEndPointLoadState)PrivateInvoke.GetNonPublicField(endPoint, "_loadState"));
 }