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_OnSourcePropertyChanged2() { using (var verify = new Verify()) { var list = new NotifierCollection(); var result = new ReadOnlyObservableCollectionExtended <Notifier>(list); var propertyAssert = new PropertyChangedEventTest(verify, result); list.RaisePropertyName(""); propertyAssert.ExpectEvent(""); } }
public void ExtendedReadOnlyObservableCollection_OnItemPropertyChanged() { using (var verify = new Verify()) { var list = new ObservableCollectionExtended <Notifier>(); var result = new ReadOnlyObservableCollectionExtended <Notifier>(list); var itemPropertyAssert = new ItemPropertyChangedEventTest(verify, result); var notifier = new Notifier(); list.Add(notifier); notifier.Name = "Frank"; itemPropertyAssert.ExpectEvent(notifier, "Name"); } }
public void ExtendedReadOnlyObservableCollection_Constructor_Test1() { using (var verify = new Verify()) { try { ObservableCollectionExtended <int> list = null; var result = new ReadOnlyObservableCollectionExtended <int>(list); verify.Fail("Expected an ArgumentNullException"); } catch (ArgumentNullException ex) { verify.AreEqual("list", ex.ParamName, "Parameter name is wrong"); } } }
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 ExtendedReadOnlyObservableCollection_MemoryTest() { using (var verify = new Verify()) { Func <WeakReference> builder = () => { var source = new ObservableCollectionExtended <int>(); var target = new ReadOnlyObservableCollectionExtended <int>(source); var sourceEvents = new Queue <NotifyCollectionChangedEventArgs>(); var targetEvents = new Queue <NotifyCollectionChangedEventArgs>(); var sourceEvents2 = new Queue <PropertyChangedEventArgs>(); var targetEvents2 = new Queue <PropertyChangedEventArgs>(); source.CollectionChanged += (s, e) => sourceEvents.Enqueue(e); target.CollectionChanged += (s, e) => targetEvents.Enqueue(e); source.PropertyChanged += (s, e) => sourceEvents2.Enqueue(e); target.PropertyChanged += (s, e) => targetEvents2.Enqueue(e); Memory.CycleGC(); source.Add(1); source.Add(2); source.Add(3); verify.AreEqual(3, sourceEvents.Count, "NotifyCollectionChangedEventArgs in source was wrong"); verify.AreEqual(3, targetEvents.Count, "NotifyCollectionChangedEventArgs in target was wrong"); verify.AreEqual(6, sourceEvents2.Count, "PropertyChangedEventArgs in source was wrong. There should be 2 per add."); verify.AreEqual(6, targetEvents2.Count, "PropertyChangedEventArgs in target was wrong. There should be 2 per add."); verify.ItemsAreEqual(source, target, ""); return(new WeakReference(target)); }; var wr = builder(); Memory.CycleGC(); verify.IsFalse(wr.IsAlive, "wr wasn't GC'd"); } }
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); } }
public void ExtendedReadOnlyObservableCollection_MemoryTest() { using (var verify = new Verify()) { Func<WeakReference> builder = () => { var source = new ObservableCollectionExtended<int>(); var target = new ReadOnlyObservableCollectionExtended<int>(source); var sourceEvents = new Queue<NotifyCollectionChangedEventArgs>(); var targetEvents = new Queue<NotifyCollectionChangedEventArgs>(); var sourceEvents2 = new Queue<PropertyChangedEventArgs>(); var targetEvents2 = new Queue<PropertyChangedEventArgs>(); source.CollectionChanged += (s, e) => sourceEvents.Enqueue(e); target.CollectionChanged += (s, e) => targetEvents.Enqueue(e); source.PropertyChanged += (s, e) => sourceEvents2.Enqueue(e); target.PropertyChanged += (s, e) => targetEvents2.Enqueue(e); Memory.CycleGC(); source.Add(1); source.Add(2); source.Add(3); verify.AreEqual(3, sourceEvents.Count, "NotifyCollectionChangedEventArgs in source was wrong"); verify.AreEqual(3, targetEvents.Count, "NotifyCollectionChangedEventArgs in target was wrong"); verify.AreEqual(6, sourceEvents2.Count, "PropertyChangedEventArgs in source was wrong. There should be 2 per add."); verify.AreEqual(6, targetEvents2.Count, "PropertyChangedEventArgs in target was wrong. There should be 2 per add."); verify.ItemsAreEqual(source, target, ""); return new WeakReference(target); }; var wr = builder(); Memory.CycleGC(); verify.IsFalse(wr.IsAlive, "wr wasn't GC'd"); } }
public void ExtendedReadOnlyObservableCollection_Constructor_Test1() { using (var verify = new Verify()) { try { ObservableCollectionExtended<int> list = null; var result = new ReadOnlyObservableCollectionExtended<int>(list); verify.Fail("Expected an ArgumentNullException"); } catch (ArgumentNullException ex) { verify.AreEqual("list", ex.ParamName, "Parameter name is wrong"); } } }
public void ExtendedReadOnlyObservableCollection_OnSourcePropertyChanged2() { using (var verify = new Verify()) { var list = new NotifierCollection(); var result = new ReadOnlyObservableCollectionExtended<Notifier>(list); var propertyAssert = new PropertyChangedEventTest(verify, result); list.RaisePropertyName(""); propertyAssert.ExpectEvent(""); } }
public void ExtendedReadOnlyObservableCollection_OnItemPropertyChanged() { using (var verify = new Verify()) { var list = new ObservableCollectionExtended<Notifier>(); var result = new ReadOnlyObservableCollectionExtended<Notifier>(list); var itemPropertyAssert = new ItemPropertyChangedEventTest(verify, result); var notifier = new Notifier(); list.Add(notifier); notifier.Name = "Frank"; itemPropertyAssert.ExpectEvent(notifier, "Name"); } }