Пример #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);
        }