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); }
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)); }