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