public void TestDefaultReturnValue() { var testWeakClass = TestWeakClass; Delegate weakReference = new WeakDelegateDefault((Func <int, int, int, int>)testWeakClass.Generic); Assert.AreEqual((int)weakReference.DynamicInvoke(3, 4, 5), 12); }
public void TestDefaultNullFunc() { var testWeakClass = TestWeakClass; Delegate weakReference = new WeakDelegateDefault((Action)testWeakClass.NullFunc); weakReference.DynamicInvoke(); Assert.AreEqual(testWeakClass.IntValue, 1); }
public void TestDefaultThreeParam() { var testWeakClass = TestWeakClass; Delegate weakReference = new WeakDelegateDefault((Action <int, string, byte>)testWeakClass.ThreeParam); weakReference.DynamicInvoke(5, "6", (byte)1); Assert.AreEqual(testWeakClass.IntValue, 12); }
public void TestDefaultTwoParam() { var testWeakClass = TestWeakClass; Delegate weakReference = new WeakDelegateDefault((Action <int, int>)testWeakClass.Sum); weakReference.DynamicInvoke(5, 6); Assert.AreEqual(testWeakClass.IntValue, 11); }
public void TestDefaultWeakLink() { WeakDelegateDefault weakDelegate = new WeakDelegateDefault((Action)TestWeakClass.NullFunc); SampleEvent += (Action)weakDelegate; SampleEvent.DynamicInvoke(); Assert.IsFalse(weakDelegate.IsNullTarget); GC.Collect(); SampleEvent.DynamicInvoke(); Assert.IsTrue(weakDelegate.IsNullTarget); }