public void ProtocolWithNativeBlockProperties(bool required, bool instance)
 {
     using (var pb = new PropertyBlock()) {
         var calledCounter = ObjCBlockTester.CalledBlockCount;
         ObjCBlockTester.SetProtocolWithBlockProperties(pb, required, instance);
         if (required)
         {
             if (instance)
             {
                 pb.MyRequiredProperty();
             }
             else
             {
                 PropertyBlock.MyRequiredStaticProperty();
             }
         }
         else
         {
             if (instance)
             {
                 pb.MyOptionalProperty();
             }
             else
             {
                 PropertyBlock.MyOptionalStaticProperty();
             }
         }
         Assert.AreEqual(calledCounter + 1, ObjCBlockTester.CalledBlockCount, "Blocks called");
     }
 }
 public void ProtocolWithBlockProperties(bool required, bool instance)
 {
     using (var pb = new PropertyBlock()) {
         var            callbackCalled = false;
         SimpleCallback action         = () => {
             callbackCalled = true;
         };
         if (required)
         {
             if (instance)
             {
                 pb.MyRequiredProperty = action;
             }
             else
             {
                 PropertyBlock.MyRequiredStaticProperty = action;
             }
         }
         else
         {
             if (instance)
             {
                 pb.MyOptionalProperty = action;
             }
             else
             {
                 PropertyBlock.MyOptionalStaticProperty = action;
             }
         }
         ObjCBlockTester.CallProtocolWithBlockProperties(pb, required, instance);
         Assert.IsTrue(callbackCalled, "Callback");
     }
 }
Exemple #3
0
        public void MainThreadDeallocationTest()
        {
            ObjCBlockTester.CallAssertMainThreadBlockRelease((callback) => {
                callback(42);
            });

            using (var main_thread_tester = new MainThreadTest()) {
                main_thread_tester.CallAssertMainThreadBlockReleaseCallback();
            }
        }
Exemple #4
0
        public void MainThreadDeallocationTestQOS()
        {
#if OPTIMIZEALL
            if (!TestRuntime.IsLinkAll)
            {
                Assert.Ignore("This test must be processed by the linker if all optimizations are turned on.");
            }
#endif

            ObjCBlockTester.CallAssertMainThreadBlockReleaseQOS((callback) => {
                callback(42);
            });

            using (var main_thread_tester = new MainThreadTest()) {
                main_thread_tester.CallAssertMainThreadBlockReleaseCallbackQOS();
            }
        }
        public void BlockCallback()
        {
            using (var obj = new BlockCallbackTester()) {
                obj.CallClassCallback();

                obj.TestObject = new BlockCallbackClass();
                obj.CallOptionalCallback();
                obj.CallRequiredCallback();
                ObjCBlockTester.TestClass = new Class(typeof(BlockCallbackClass));
                ObjCBlockTester.CallRequiredStaticCallback();
                ObjCBlockTester.CallOptionalStaticCallback();

                obj.TestObject = new BlockCallbackClassExplicit();
                obj.CallOptionalCallback();
                obj.CallRequiredCallback();
                ObjCBlockTester.TestClass = new Class(typeof(BlockCallbackClassExplicit));
                ObjCBlockTester.CallRequiredStaticCallback();
                ObjCBlockTester.CallOptionalStaticCallback();
            }
        }
 public void ProtocolWithReturnValues(bool required, bool instance)
 {
     using (var pb = new BlockCallbackClass()) {
         ObjCBlockTester.CallProtocolWithBlockReturnValue(pb, required, instance);
     }
 }