Esempio n. 1
0
        public void MarkUnsynchronized()
        {
            Assert.That(RealObjectEndPointTestHelper.GetSyncState(_endPoint), Is.SameAs(_syncStateMock));

            _endPoint.MarkUnsynchronized();
            Assert.That(RealObjectEndPointTestHelper.GetSyncState(_endPoint), Is.TypeOf(typeof(UnsynchronizedRealObjectEndPointSyncState)));
        }
Esempio n. 2
0
        public void OppositeObjectID_Get_FromProperty()
        {
            Assert.That(_endPoint.OppositeObjectID, Is.Not.EqualTo(DomainObjectIDs.Order3));
            RealObjectEndPointTestHelper.SetValueViaDataContainer(_endPoint, DomainObjectIDs.Order3);

            Assert.That(_endPoint.OppositeObjectID, Is.EqualTo(DomainObjectIDs.Order3));
        }
Esempio n. 3
0
        public void Touch_ToProperty()
        {
            Assert.That(RealObjectEndPointTestHelper.HasBeenTouchedViaDataContainer(_endPoint), Is.False);

            _endPoint.Touch();

            Assert.That(RealObjectEndPointTestHelper.HasBeenTouchedViaDataContainer(_endPoint), Is.True);
        }
Esempio n. 4
0
        public void GetOppositeObject_Null()
        {
            RealObjectEndPointTestHelper.SetOppositeObjectID(_endPoint, null);

            var oppositeObject = _endPoint.GetOppositeObject();

            Assert.That(oppositeObject, Is.Null);
        }
Esempio n. 5
0
        public void HasChanged_FromProperty()
        {
            Assert.That(_endPoint.HasChanged, Is.False);

            RealObjectEndPointTestHelper.SetValueViaDataContainer(_endPoint, DomainObjectIDs.Order3);

            Assert.That(_endPoint.HasChanged, Is.True);
        }
Esempio n. 6
0
        public void OriginalOppositeObjectID_Get_FromProperty()
        {
            RealObjectEndPointTestHelper.SetValueViaDataContainer(_endPoint, DomainObjectIDs.Order3);
            Assert.That(_endPoint.OriginalOppositeObjectID, Is.Not.EqualTo(DomainObjectIDs.Order3));

            _endPoint.ForeignKeyDataContainer.CommitState();

            Assert.That(_endPoint.OriginalOppositeObjectID, Is.EqualTo(DomainObjectIDs.Order3));
        }
Esempio n. 7
0
        public void Initialization_SyncState()
        {
            var endPoint = new RealObjectEndPoint(TestableClientTransaction, _endPointID, _foreignKeyDataContainer, _endPointProviderStub, _transactionEventSinkStub);

            var syncState = RealObjectEndPointTestHelper.GetSyncState(endPoint);

            Assert.That(syncState, Is.TypeOf(typeof(UnknownRealObjectEndPointSyncState)));
            Assert.That(((UnknownRealObjectEndPointSyncState)syncState).VirtualEndPointProvider, Is.SameAs(_endPointProviderStub));
        }
Esempio n. 8
0
        public void GetOriginalOppositeObject()
        {
            RealObjectEndPointTestHelper.SetOppositeObjectID(_endPoint, DomainObjectIDs.Order1);
            _foreignKeyDataContainer.CommitState();

            var originalOppositeObject = _endPoint.GetOriginalOppositeObject();

            Assert.That(originalOppositeObject, Is.SameAs(DomainObjectIDs.Order1.GetObjectReference <Order> ()));
            Assert.That(originalOppositeObject.State, Is.EqualTo(StateType.NotLoadedYet));
        }
Esempio n. 9
0
        public void MarkSynchronized()
        {
            Assert.That(RealObjectEndPointTestHelper.GetSyncState(_endPoint), Is.SameAs(_syncStateMock));

            _endPoint.MarkSynchronized();

            Assert.That(RealObjectEndPointTestHelper.GetSyncState(_endPoint), Is.TypeOf(typeof(SynchronizedRealObjectEndPointSyncState)));
            Assert.That(_endPoint.EndPointProvider, Is.SameAs(_endPointProviderStub));
            Assert.That(_endPoint.TransactionEventSink, Is.SameAs(_transactionEventSinkStub));
        }
Esempio n. 10
0
        public void GetOppositeObject_Invalid()
        {
            var oppositeObject = Order.NewObject();

            oppositeObject.Delete();
            Assert.That(oppositeObject.State, Is.EqualTo(StateType.Invalid));

            RealObjectEndPointTestHelper.SetOppositeObjectID(_endPoint, oppositeObject.ID);

            Assert.That(_endPoint.GetOppositeObject(), Is.SameAs(oppositeObject));
        }
Esempio n. 11
0
        public void GetOppositeObject_Deleted()
        {
            var order1 = DomainObjectIDs.Order1.GetObject <Order> ();

            order1.Delete();
            Assert.That(order1.State, Is.EqualTo(StateType.Deleted));

            RealObjectEndPointTestHelper.SetOppositeObjectID(_endPoint, order1.ID);

            Assert.That(_endPoint.GetOppositeObject(), Is.SameAs(order1));
        }
Esempio n. 12
0
        public void GetOriginalOppositeObject_Deleted()
        {
            RealObjectEndPointTestHelper.SetOppositeObjectID(_endPoint, DomainObjectIDs.Order1);
            _foreignKeyDataContainer.CommitState();
            var originalOppositeObject = (Order)_endPoint.GetOppositeObject();

            originalOppositeObject.Delete();

            Assert.That(originalOppositeObject.State, Is.EqualTo(StateType.Deleted));
            Assert.That(_endPoint.GetOriginalOppositeObject(), Is.SameAs(originalOppositeObject));
        }
Esempio n. 13
0
        public void ResetSyncState()
        {
            Assert.That(RealObjectEndPointTestHelper.GetSyncState(_endPoint), Is.SameAs(_syncStateMock));

            _endPoint.ResetSyncState();

            var syncState = RealObjectEndPointTestHelper.GetSyncState(_endPoint);

            Assert.That(syncState, Is.TypeOf(typeof(UnknownRealObjectEndPointSyncState)));
            Assert.That(((UnknownRealObjectEndPointSyncState)syncState).VirtualEndPointProvider, Is.SameAs(_endPointProviderStub));
        }
Esempio n. 14
0
        public void Rollback_ToProperty()
        {
            Assert.That(RealObjectEndPointTestHelper.GetValueViaDataContainer(_endPoint), Is.Null);

            RealObjectEndPointTestHelper.SetValueViaDataContainer(_endPoint, DomainObjectIDs.Order3);
            Assert.That(RealObjectEndPointTestHelper.HasChangedViaDataContainer(_endPoint), Is.True);

            _endPoint.Rollback();

            Assert.That(RealObjectEndPointTestHelper.HasChangedViaDataContainer(_endPoint), Is.False);
            Assert.That(RealObjectEndPointTestHelper.GetValueViaDataContainer(_endPoint), Is.Null);
        }
Esempio n. 15
0
        public void GetOppositeObject()
        {
            RealObjectEndPointTestHelper.SetOppositeObjectID(_endPoint, DomainObjectIDs.Order1);

            DomainObject oppositeObject;

            using (ClientTransactionScope.EnterNullScope())
            {
                oppositeObject = _endPoint.GetOppositeObject();
            }

            Assert.That(oppositeObject, Is.SameAs(LifetimeService.GetObjectReference(TestableClientTransaction, DomainObjectIDs.Order1)));
            Assert.That(oppositeObject.State, Is.EqualTo(StateType.NotLoadedYet), "Data has not been loaded");
        }
Esempio n. 16
0
        public void SetOppositeObjectDataFromSubTransaction()
        {
            Assert.That(_endPoint.OppositeObjectID, Is.Not.EqualTo(DomainObjectIDs.Order3));
            var sourceDataContainer = DataContainer.CreateForExisting(_endPointID.ObjectID, null, pd => pd.DefaultValue);

            var source = new RealObjectEndPoint(TestableClientTransaction, _endPointID, sourceDataContainer, _endPointProviderStub, _transactionEventSinkStub);

            RealObjectEndPointTestHelper.SetValueViaDataContainer(source, DomainObjectIDs.Order3);

            PrivateInvoke.InvokeNonPublicMethod(_endPoint, "SetOppositeObjectDataFromSubTransaction", source);

            Assert.That(_endPoint.OppositeObjectID, Is.EqualTo(DomainObjectIDs.Order3));
            Assert.That(_endPoint.HasChanged, Is.True);
        }
 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);
     }
 }
Esempio n. 18
0
        public void GetOppositeObject_NotFound()
        {
            var objectID = new ObjectID(typeof(Order), Guid.NewGuid());

            RealObjectEndPointTestHelper.SetOppositeObjectID(_endPoint, objectID);

            var oppositeObject = _endPoint.GetOppositeObject();

            Assert.That(oppositeObject.ID, Is.EqualTo(objectID));
            Assert.That(oppositeObject.State, Is.EqualTo(StateType.NotLoadedYet), "Data has not been loaded");

            Assert.That(() => oppositeObject.EnsureDataAvailable(), Throws.TypeOf <ObjectsNotFoundException>());

            var oppositeObject2 = _endPoint.GetOppositeObject();

            Assert.That(oppositeObject2.ID, Is.EqualTo(objectID));
            Assert.That(oppositeObject2.State, Is.EqualTo(StateType.Invalid), "Data has not been found");
        }
Esempio n. 19
0
        public void CreateDeleteCommand()
        {
            var fakeResult = MockRepository.GenerateStub <IDataManagementCommand> ();

            Action oppositeObjectSetter = null;

            _syncStateMock
            .Expect(mock => mock.CreateDeleteCommand(Arg.Is(_endPoint), Arg <Action> .Is.Anything))
            .Return(fakeResult)
            .WhenCalled(mi => { oppositeObjectSetter = (Action)mi.Arguments[1]; });
            _syncStateMock.Replay();

            var result = _endPoint.CreateDeleteCommand();

            _syncStateMock.VerifyAllExpectations();
            Assert.That(result, Is.SameAs(fakeResult));

            RealObjectEndPointTestHelper.SetValueViaDataContainer(_endPoint, DomainObjectIDs.Order1);

            Assert.That(_endPoint.OppositeObjectID, Is.Not.Null);
            oppositeObjectSetter();
            Assert.That(_endPoint.OppositeObjectID, Is.Null);
        }
Esempio n. 20
0
        public void GetOriginalOppositeObject_Null()
        {
            RealObjectEndPointTestHelper.SetOppositeObjectID(_endPoint, DomainObjectIDs.Order5);

            Assert.That(_endPoint.GetOriginalOppositeObject(), Is.Null);
        }