public void ChangeType_NullType_Throws()
        {
            int          invokeCounter = 0;
            EventHandler d             = (object o, EventArgs args) => { ++invokeCounter; };

            DelegateConvert.ChangeType(d, (Type)null);
        }
        public void ChangeType_IncompatibleType_Throws()
        {
            int invokeCounter = 0;
            EventHandler <AssemblyLoadEventArgs> d = (object o, AssemblyLoadEventArgs args) => { ++invokeCounter; };

            EventHandler <ResolveEventArgs> dt = DelegateConvert.ChangeType <EventHandler <ResolveEventArgs> >(d);
        }
        public void ChangeType_SameType_ReturnsOriginalInstance()
        {
            int invokeCounter          = 0;
            EventHandler <EventArgs> d = (object o, EventArgs args) => { ++invokeCounter; };

            EventHandler <EventArgs> dt = DelegateConvert.ChangeType <EventHandler <EventArgs> >(d);

            Assert.IsNotNull(dt);
            Assert.AreSame(d, dt);
        }
        public void ChangeType_DerivedArgs_IsCallable()
        {
            int invokeCounter          = 0;
            EventHandler <EventArgs> d = (object o, EventArgs args) => { ++invokeCounter; };

            EventHandler <AssemblyLoadEventArgs> dt = DelegateConvert.ChangeType <EventHandler <AssemblyLoadEventArgs> >(d);

            Assert.IsNotNull(dt);
            Assert.AreNotSame(d, dt);
            d(this, new EventArgs());
            Assert.AreEqual(1, invokeCounter);
            dt(this, new AssemblyLoadEventArgs(null));
            Assert.AreEqual(2, invokeCounter);
        }
        public void ChangeType_SingleCast_SingleCast()
        {
            int          invokeCounter = 0;
            EventHandler d             = (object o, EventArgs args) => { ++invokeCounter; };

            EventHandler <EventArgs> dt = DelegateConvert.ChangeType <EventHandler <EventArgs> >(d);

            Assert.IsNotNull(dt);
            Assert.AreNotSame(d, dt);
            d(this, new EventArgs());
            Assert.AreEqual(1, invokeCounter);
            dt(this, new EventArgs());
            Assert.AreEqual(2, invokeCounter);
        }
Exemple #6
0
        private void WillBeWeak1_Weak_Unsubscribe(EventHandler <EventArgs> weh)
        {
            var realHandler = (EventHandler)DelegateConvert.ChangeType(weh, typeof(EventHandler));

            _WillBeWeak1 = (EventHandler)Delegate.Remove(_WillBeWeak1, realHandler);
        }
 public void ChangeType_Null_Null()
 {
     Assert.IsNull(DelegateConvert.ChangeType <object>(null));
 }