public void Test_MgcReplaceRange() { devDhMagic.MgcObservableCollection <int> collection = new devDhMagic.MgcObservableCollection <int>(); var toAdd = new[] { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3 }; var toRemove = new[] { 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 0, 0 }; collection.MgcAddRange(toRemove); collection.CollectionChanged += (s, e) => { Assert.AreEqual(e.Action, NotifyCollectionChangedAction.Reset, "ReplaceRange didn't use Remove like requested."); Assert.IsNull(e.OldItems, "OldItems should be null."); Assert.IsNull(e.NewItems, "NewItems should be null."); Assert.AreEqual(collection.Count, toAdd.Length, "Lengths are not the same"); for (var i = 0; i < toAdd.Length; i++) { if (collection[i] != (int)toAdd[i]) { Assert.Fail("Expected and actual items don't match."); } } }; collection.MgcReplaceRange(toAdd); }
public void Test_MagicAdd() { devDhMagic.MgcObservableCollection <int> collection = new devDhMagic.MgcObservableCollection <int>(); var toAdd = new List <int> { 1, 2, 3 }; collection.CollectionChanged += (s, e) => { Assert.AreEqual(e.Action, NotifyCollectionChangedAction.Add, "AddRange didn't use Add like requested."); Assert.IsNull(e.OldItems, "OldItems should be null."); Assert.AreEqual(toAdd.Count, e.NewItems.Count, "Expected and actual OldItems don't match."); for (var i = 0; i < toAdd.Count; i++) { Assert.AreEqual(toAdd[i], (int)e.NewItems[i], "Expected and actual NewItems don't match."); } }; collection.MgcAddRange(toAdd); }
public void Test_RemoveRangeRemoveTestMethod() { devDhMagic.MgcObservableCollection <int> collection = new devDhMagic.MgcObservableCollection <int>(); var toAdd = new[] { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3 }; var toRemove = new[] { 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 0, 0 }; collection.MgcAddRange(toAdd); collection.CollectionChanged += (s, e) => { if (e.Action != System.Collections.Specialized.NotifyCollectionChangedAction.Remove) { Assert.Fail("RemoveRange didn't use Remove like requested."); } if (e.OldItems == null) { Assert.Fail("OldItems should not be null."); } var expected = new int[] { 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 7, 8, 9, 9 }; if (expected.Length != e.OldItems.Count) { Assert.Fail("Expected and actual OldItems don't match."); } for (var i = 0; i < expected.Length; i++) { if (expected[i] != (int)e.OldItems[i]) { Assert.Fail("Expected and actual OldItems don't match."); } } }; collection.MgcRemoveRange(toRemove, NotifyCollectionChangedAction.Remove); }
public void Test_AddMgcEmpty() { devDhMagic.MgcObservableCollection <int> collection = new devDhMagic.MgcObservableCollection <int>(); var toAdd = new int[0]; collection.CollectionChanged += (s, e) => { Assert.Fail("The event is raised."); }; collection.MgcAddRange(toAdd); }
public void Test_RemoveRangeEmpty() { devDhMagic.MgcObservableCollection <int> collection = new devDhMagic.MgcObservableCollection <int>(); var toAdd = new[] { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3 }; var toRemove = new int[0]; collection.MgcAddRange(toAdd); collection.CollectionChanged += (s, e) => { Assert.Fail("The event is raised."); }; collection.MgcRemoveRange(toRemove, NotifyCollectionChangedAction.Remove); }