Beispiel #1
0
        public void ExpandToAllRelatedObjects_SetSame_Unidirectional()
        {
            var client = DomainObjectIDs.Client2.GetObject <Client> ();
            var unidirectionalEndPointID = RelationEndPointID.Resolve(client, c => c.ParentClient);
            var unidirectionalEndPoint   =
                (IObjectEndPoint)TestableClientTransaction.DataManager.GetRelationEndPointWithLazyLoad(unidirectionalEndPointID);

            Assert.That(unidirectionalEndPoint.Definition.GetOppositeEndPointDefinition().IsAnonymous, Is.True);

            var setSameModification = new ObjectEndPointSetSameCommand(unidirectionalEndPoint, _transactionEventSinkWithMock);

            var bidirectionalModification = setSameModification.ExpandToAllRelatedObjects();

            Assert.That(bidirectionalModification.GetNestedCommands(), Is.EqualTo(new[] { setSameModification }));
        }
Beispiel #2
0
        public void ExpandToAllRelatedObjects_SetSame_Bidirectional()
        {
            var oppositeEndPointID = RelationEndPointID.Resolve(_relatedObject, e => e.Computer);
            var oppositeEndPoint   = TestableClientTransaction.DataManager.GetRelationEndPointWithLazyLoad(oppositeEndPointID);

            var bidirectionalModification = _command.ExpandToAllRelatedObjects();

            var steps = bidirectionalModification.GetNestedCommands();

            Assert.That(steps.Count, Is.EqualTo(2));

            Assert.That(steps[0], Is.SameAs(_command));

            Assert.That(steps[1], Is.InstanceOf(typeof(RelationEndPointTouchCommand)));
            Assert.That(((RelationEndPointTouchCommand)steps[1]).EndPoint, Is.SameAs(oppositeEndPoint));
        }