public void ExtendedObservableCollection_RemoveNullHandlerTest()
 {
     using (var verify = new Verify())
     {
         var list   = new ObservableCollectionExtended <int>();
         var result = new ReadOnlyObservableCollectionExtended <int>(list);
         verify.ArgumentNullException("eventHandler", () => result.RemoveHandler((IListener <NotifyCollectionChangedEventArgs>)null));
         verify.ArgumentNullException("eventHandler", () => result.RemoveHandler((IListener <PropertyChangedEventArgs>)null));
     }
 }
 public void ExtendedObservableCollection_RemoveNullHandlerTest()
 {
     using (var verify = new Verify())
     {
         var list = new ObservableCollectionExtended<int>();
         var result = new ReadOnlyObservableCollectionExtended<int>(list);
         verify.ArgumentNullException("eventHandler", () => result.RemoveHandler((IListener<NotifyCollectionChangedEventArgs>)null));
         verify.ArgumentNullException("eventHandler", () => result.RemoveHandler((IListener<PropertyChangedEventArgs>)null));
     }
 }
        public void ExtendedReadOnlyObservableCollection_RemoveHandlerTest()
        {
            using (var verify = new Verify())
            {
                var list   = new ObservableCollectionExtended <int>();
                var result = new ReadOnlyObservableCollectionExtended <int>(list);

                var collectionChangedEventQueue = new Queue <Tuple <object, NotifyCollectionChangedEventArgs> >();
                var collectionChangedListener   = new Listener <NotifyCollectionChangedEventArgs>((s, e) => collectionChangedEventQueue.Enqueue(Tuple.Create(s, e)));
                result.RemoveHandler(collectionChangedListener);

                var propertyChangedEventQueue = new Queue <Tuple <object, PropertyChangedEventArgs> >();
                var propertyChangedListener   = new Listener <PropertyChangedEventArgs>((s, e) => propertyChangedEventQueue.Enqueue(Tuple.Create(s, e)));
                result.RemoveHandler(propertyChangedListener);
            }
        }
        public void ExtendedObservableDictionary_RemoveHandlerTest2()
        {
            using (var verify = new Verify())
            {
                var list = new ObservableCollectionExtended<int>();
                var result = new ReadOnlyObservableCollectionExtended<int>(list);

                var collectionChangedEventQueue = new Queue<Tuple<object, NotifyCollectionChangedEventArgs>>();
                var collectionChangedListener = new Listener<NotifyCollectionChangedEventArgs>((s, e) => collectionChangedEventQueue.Enqueue(Tuple.Create(s, e)));
                result.AddHandler(collectionChangedListener);
                result.RemoveHandler(collectionChangedListener);
                result.RemoveHandler(collectionChangedListener);

                var propertyChangedEventQueue = new Queue<Tuple<object, PropertyChangedEventArgs>>();
                var propertyChangedListener = new Listener<PropertyChangedEventArgs>((s, e) => propertyChangedEventQueue.Enqueue(Tuple.Create(s, e)));
                result.AddHandler(propertyChangedListener);
                result.RemoveHandler(propertyChangedListener);
                result.RemoveHandler(propertyChangedListener);

            }
        }