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"); } }
public void MainThreadDeallocationTest() { ObjCBlockTester.CallAssertMainThreadBlockRelease((callback) => { callback(42); }); using (var main_thread_tester = new MainThreadTest()) { main_thread_tester.CallAssertMainThreadBlockReleaseCallback(); } }
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); } }