Пример #1
0
        public void TestMapNoArgumentCallback()
        {
            confirmationValue = INIT_VALUE;
            IEventBinding binding = new EventBinding();

            binding.Key(SomeEnum.ONE).To(noArgumentCallback);
            EventCallbackType type = binding.typeForCallback(noArgumentCallback);

            object[] value     = binding.value as object[];
            Delegate extracted = value[0] as Delegate;

            Assert.AreEqual(EventCallbackType.NO_ARGUMENTS, type);

            extracted.DynamicInvoke(new object[0]);
            //Calling the method should change the confirmationValue
            Assert.AreNotEqual(confirmationValue, INIT_VALUE);
        }
Пример #2
0
        public void TestMapOneArgumentCallback()
        {
            confirmationValue = INIT_VALUE;
            IEventBinding binding = new EventBinding();

            binding.Key(SomeEnum.ONE).To(oneArgumentCallback);
            EventCallbackType type = binding.typeForCallback(oneArgumentCallback);

            object[] value     = binding.value as object[];
            Delegate extracted = value[0] as Delegate;

            Assert.AreEqual(EventCallbackType.ONE_ARGUMENT, type);

            object[] parameters = new object[1];
            parameters [0] = new TestEvent("TEST", null, INIT_VALUE);
            extracted.DynamicInvoke(parameters);
            //Calling the method should change the confirmationValue
            Assert.AreEqual(confirmationValue, INIT_VALUE * INIT_VALUE);
        }