Ejemplo n.º 1
0
        public void EventInvoke_ByTypes_Internal()
        {
            var call = DelegateFactory.EventInvoke <TestClass, TestClass.InternalEventArgs>("InternalEventBackend");

            Assert.IsNotNull(call);
            var eventExecuted = false;

            void EventHandler(object sender, TestClass.InternalEventArgs args)
            {
                eventExecuted = true;
                Assert.IsInstanceOfType(args, typeof(TestClass.InternalEventArgs));
            }

            var testClassInstance = new TestClass();

            testClassInstance.AddInternalEventHandler(EventHandler);
            call(testClassInstance, new TestClass.InternalEventArgs());
            Assert.IsTrue(eventExecuted);
        }
        public void EventRemove_ByTypes_Internal()
        {
            var accessor = DelegateFactory.EventRemove <TestClass, TestClass.InternalEventArgs>("InternalEvent");

            Assert.IsNotNull(accessor);
            var eventExecuted = false;

            void EventHandler(object sender, TestClass.InternalEventArgs args)
            {
                eventExecuted = true;
                Assert.IsInstanceOfType(args, typeof(TestClass.InternalEventArgs));
            }

            var testClassInstance = new TestClass();

            testClassInstance.AddInternalEventHandler(EventHandler);
            accessor(testClassInstance, EventHandler);
            testClassInstance.InvokeInternalEvent();
            Assert.IsFalse(eventExecuted);
        }