public void Guarded() { ICollectionValue <int> guarded = new GuardedCollectionValue <int>(queue); guarded.CollectionChanged += new CollectionChangedHandler <int>(queue_CollectionChanged); guarded.ItemsAdded += new ItemsAddedHandler <int>(queue_ItemAdded); guarded.ItemsRemoved += new ItemsRemovedHandler <int>(queue_ItemRemoved); queue.Add(34); queue.Add(56); queue.Add(34); queue.Add(12); queue.DeleteMax(); queue.DeleteMin(); queue.AddAll <int>(new int[] { 4, 5, 6, 2 }); Assert.AreEqual(17, events.Count); int[] vals = { 34, 0, 56, 0, 34, 0, 12, 0, 56, 0, 12, 0, 4, 5, 6, 2, 0 }; Acts[] acts = { Acts.Add, Acts.Changed, Acts.Add, Acts.Changed, Acts.Add, Acts.Changed, Acts.Add, Acts.Changed, Acts.Remove, Acts.Changed, Acts.Remove, Acts.Changed, Acts.Add, Acts.Add, Acts.Add, Acts.Add, Acts.Changed }; for (int i = 0; i < vals.Length; i++) { //Console.WriteLine("{0}", events[cell]); Assert.AreEqual(vals[i], events[i].Value); Assert.AreEqual(acts[i], events[i].Key); } }
public void Guarded() { ICollectionValue<int> guarded = new GuardedCollectionValue<int>(queue); guarded.CollectionChanged += new CollectionChangedHandler<int>(queue_CollectionChanged); guarded.ItemsAdded += new ItemsAddedHandler<int>(queue_ItemAdded); guarded.ItemsRemoved += new ItemsRemovedHandler<int>(queue_ItemRemoved); queue.Add(34); queue.Add(56); queue.Add(34); queue.Add(12); queue.DeleteMax(); queue.DeleteMin(); queue.AddAll<int>(new int[] { 4, 5, 6, 2 }); Assert.AreEqual(17, events.Count); int[] vals = { 34, 0, 56, 0, 34, 0, 12, 0, 56, 0, 12, 0, 4, 5, 6, 2, 0 }; Acts[] acts = { Acts.Add, Acts.Changed, Acts.Add, Acts.Changed, Acts.Add, Acts.Changed, Acts.Add, Acts.Changed, Acts.Remove, Acts.Changed, Acts.Remove, Acts.Changed, Acts.Add, Acts.Add, Acts.Add, Acts.Add, Acts.Changed }; for (int i = 0; i < vals.Length; i++) { //Console.WriteLine("{0}", Events[cell]); Assert.AreEqual(vals[i], events[i].Value); Assert.AreEqual(acts[i], events[i].Key); } }