public void ApplyCollectionDeletionComposition()
        {
            var toDelete = railway.Routes[0];

            var change = new CompositionListDeletion
            {
                AffectedElement = railway,
                Feature         = RailwayContainer.ClassInstance.LookupReference("routes"),
                DeletedElement  = toDelete
            };

            change.Apply();

            Assert.AreNotEqual(toDelete, railway.Routes.FirstOrDefault());
            CollectionAssert.DoesNotContain(railway.Routes.ToList(), toDelete);
        }
Exemple #2
0
        public void InvertListDeletionComposition()
        {
            var toDelete = railway1.Routes[0];

            var change = new CompositionListDeletion
            {
                AffectedElement = railway1,
                Feature         = RailwayContainer.ClassInstance.LookupReference("routes"),
                Index           = 0,
                DeletedElement  = toDelete
            };

            change.Apply();
            foreach (var inverted in change.Invert())
            {
                inverted.Apply();
            }

            CollectionAssert.Contains(railway1.Routes.ToList(), toDelete);
            Assert.AreEqual(railway1.Routes.Count, railway2.Routes.Count);
        }