public void DeactivatableObservableCollection_Remove() { int step = 0; DeactivatableObservableCollection <string> col = new DeactivatableObservableCollection <string>(); col.Add("Oscar"); col.CollectionChanged += (s, e) => { switch (step) { case 0: Assert.True(e.Action == NotifyCollectionChangedAction.Remove); Assert.Null(e.NewItems); Assert.NotNull(e.OldItems); Assert.True(e.OldItems.Count == 1); break; case 1: Assert.True(e.Action == NotifyCollectionChangedAction.Remove); Assert.Null(e.NewItems); Assert.NotNull(e.OldItems); Assert.True(e.OldItems.Count == 2); break; } step++; }; col.Remove("Oscar"); col.Add(new string[] { "Oscar", "Asier" }, false); col.Remove(new string[] { "Oscar", "Asier" }); }
public void DeactivatableObservableCollection_Clear() { DeactivatableObservableCollection <string> col = new DeactivatableObservableCollection <string>(); col.Add(new string[] { "Oscar", "Asier" }); col.CollectionChanged += (s, e) => { Assert.True(e.Action == NotifyCollectionChangedAction.Reset); Assert.Null(e.NewItems); Assert.Null(e.OldItems); }; col.Clear(); }
public void DeactivatableObservableCollection_Replace() { int step = 0; DeactivatableObservableCollection <string> col = new DeactivatableObservableCollection <string>(); col.Add("Oscar"); col.Add("Asier"); col.CollectionChanged += (s, e) => { switch (step) { case 0: Assert.True(e.Action == NotifyCollectionChangedAction.Replace); Assert.NotNull(e.NewItems); Assert.NotNull(e.OldItems); Assert.True(e.NewItems.Count == 1); Assert.True(e.OldItems.Count == 1); Assert.Same("Oscar", e.OldItems[0]); Assert.Same("Oscar2", e.NewItems[0]); break; case 1: Assert.True(e.Action == NotifyCollectionChangedAction.Replace); Assert.NotNull(e.NewItems); Assert.NotNull(e.OldItems); Assert.True(e.NewItems.Count == 2); Assert.True(e.OldItems.Count == 2); Assert.Same("Oscar2", e.OldItems[0]); Assert.Same("Oscar3", e.NewItems[0]); Assert.Same("Asier", e.OldItems[1]); Assert.Same("Asier3", e.NewItems[1]); break; } step++; }; col[0] = "Oscar2"; col.Replace( new string[] { "Oscar2", "Asier" }, new string[] { "Oscar3", "Asier3" }, true); }