public void ModelBaseCollection_RemoveHandlerNullTest()
        {
            var person = new SimplePersonCollection();

            try
            {
                person.RemoveHandler((IListener <PropertyChangedEventArgs>)null);
                Assert.Fail("Excepted an ArgumentNullException");
            }
            catch (ArgumentNullException ex)
            {
                Assert.AreEqual("eventHandler", ex.ParamName);
            }
        }
        public void ModelBaseCollection_AddRemoveHandlerTest()
        {
            var fired    = false;
            var person   = new SimplePersonCollection();
            var listener = new Listener <PropertyChangedEventArgs>((sender, e) => { fired = true; });

            person.ErrorsChanged += (sender, e) => { };
            person.AddHandler(listener);
            person.FirstName = "Tom";
            Assert.IsTrue(fired);
            fired = false;
            person.RemoveHandler(listener);
            person.FirstName = "Sam";
            Assert.IsFalse(fired);
        }
 public void ModelBaseCollection_AddRemoveHandlerTest()
 {
     var fired = false;
     var person = new SimplePersonCollection();
     var listener = new Listener<PropertyChangedEventArgs>((sender, e) => { fired = true; });
     person.ErrorsChanged += (sender, e) => { };
     person.AddHandler(listener);
     person.FirstName = "Tom";
     Assert.IsTrue(fired);
     fired = false;
     person.RemoveHandler(listener);
     person.FirstName = "Sam";
     Assert.IsFalse(fired);
 }
 public void ModelBaseCollection_RemoveHandlerNullTest3()
 {
     var person = new SimplePersonCollection();
     try
     {
         person.RemoveHandler((IListener<RelayedEventArgs<PropertyChangedEventArgs>>)null);
         Assert.Fail("Excepted an ArgumentNullException");
     }
     catch (ArgumentNullException ex)
     {
         Assert.AreEqual("eventHandler", ex.ParamName);
     }
 }