Ronald Oussoren avatar Ronald Oussoren committed 7cd5d39

- Various changes to the CodeGenerator scripts to help building on GNUstep
systems.
- Move some tests from objc.test to AppKit.test
- Fix some tests to make sure they work correctly on GNUstep
- GNUstep portability fixes, PyObjC should be fairly usable on GNUstep now.
- Fix bug in super-call.m: the Class for which special method-wrappers are
registered was ignored.
- Make sure the code compiles on MacOS X 10.1, it also passes most unittests.
I'll probably erase my 10.1 disk soon, don't expect any more updates...

Comments (0)

Files changed (48)

pyobjc/Lib/AppKit/test/test_nscolor.py

+import unittest
+import AppKit
+
+class TestRegressions (unittest.TestCase):
+    def testQualifiersInSignature(self):
+        AppKit.NSColor.redColor().getRed_green_blue_alpha_()
+
+if __name__ == "__main__":
+    unittest.main()

pyobjc/Lib/AppKit/test/test_nsfont.py

 import AppKit
 
 import os
-ON_JAGUAR=((os.uname()[0] == 'Darwin') and (os.uname()[2][0] == '6'))
+ON_JAGUAR=((os.uname()[0] == 'Darwin') and (int(os.uname()[2][0]) <= '6'))
 
 class TestNSFont(unittest.TestCase):
     def matrixEquals(self, value1, value2):

pyobjc/Lib/AppKit/test/test_nsopenpanel.py

+import unittest
+import objc
+
+class TestOpenPanel (unittest.TestCase):
+    def testOpenPanelSignature(self):
+        """
+        This test failed sometime after the 1.0b1 release (on Panther).
+        """
+        import AppKit
+
+        o = AppKit.NSOpenPanel.openPanel()
+        sig = o.beginSheetForDirectory_file_types_modalForWindow_modalDelegate_didEndSelector_contextInfo_.signature
+        dclass= o.beginSheetForDirectory_file_types_modalForWindow_modalDelegate_didEndSelector_contextInfo_.definingClass
+        sig = ''.join(objc.splitSignature(sig))
+        self.assertEquals(
+            sig,
+            'v@:@@@@@:i')
+
+if __name__ == "__main__":
+    unittest.main()

pyobjc/Lib/Foundation/__init__.py

 import objc as _objc
+import sys
 
 from _Foundation import *
 

pyobjc/Lib/Foundation/test/test_globals.py

     def testMisc(self):
         # enum
         self.assert_(hasattr(Foundation, 'NS_LittleEndian'))
-        self.assert_(hasattr(Foundation, 'NSXMLParserExtraContentError'))
 
         # NSString
-        self.assert_(hasattr(Foundation, 'NSAppleScriptErrorNumber'))
         self.assert_(hasattr(Foundation, 'NSConnectionReplyMode'))
 
         # VAR
-        self.assert_(hasattr(Foundation, 'NSFoundationVersionNumber'))
+        if sys.platform == 'darwin':
+            self.assert_(hasattr(Foundation, 'NSFoundationVersionNumber'))
 
 if __name__ == "__main__":
     unittest.main()

pyobjc/Lib/Foundation/test/test_nsarray.py

         self.assertRaises(ValueError, NSArray.arrayWithObjects_count_, ('a','b'), 3)
 
     def test_arrayByAddingObjects_count_(self):
+        if sys.platform != 'darwin' and not hasattr(NSArray, 'arrayByAddingObjects_count_'): return
+
         a = NSArray.arrayWithArray_(('a', 'b', 'c'))
         self.assertEquals(a, ('a', 'b', 'c'))
 
 
 
     def testReplaceObjects(self):
-        a = NSMutableArray.arrayWithArray_(range(4))
-        self.assertEquals(a, (0, 1, 2, 3))
+        if sys.platform == 'darwin' or hasattr(NSMutableArray, 'replaceObjectsInRange_withObjects_count_'):
 
-        a.replaceObjectsInRange_withObjects_count_(
-            (1,2), ["a", "b", "c", "d"], 3)
+            a = NSMutableArray.arrayWithArray_(range(4))
+            self.assertEquals(a, (0, 1, 2, 3))
 
-        self.assertEquals(a, (0, "a", "b", "c", 3))
+            a.replaceObjectsInRange_withObjects_count_(
+                (1,2), ["a", "b", "c", "d"], 3)
+
+            self.assertEquals(a, (0, "a", "b", "c", 3))
 
     def testSortInvalid(self):
         """
     def testSort2(self):
         a = NSMutableArray.arrayWithArray_(range(10))
         self.assertEquals(a, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9))
-    
-        def cmpfunc(l, r, c):
-            return -cmp(l,r)
+        
+        if sys.platform == 'darwin' or hasattr(a, 'sortUsingFunction_context_range_'):
+            def cmpfunc(l, r, c):
+                return -cmp(l,r)
 
-        a.sortUsingFunction_context_range_(cmpfunc, "a", (4, 4))
+            a.sortUsingFunction_context_range_(cmpfunc, "a", (4, 4))
 
-        self.assertEquals(a, (0, 1, 2, 3, 7, 6, 5, 4, 8, 9))
+            self.assertEquals(a, (0, 1, 2, 3, 7, 6, 5, 4, 8, 9))
 
     def testSort3(self):
         """ check the sort method, list interface compatibility """
     def testSort2(self):
         a = NSMutableArray.arrayWithArray_(range(10))
         self.assertEquals(a, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9))
-    
-        def cmpfunc(l, r, c):
-            return -cmp(l,r)
 
-        a.sortUsingFunction_context_range_(cmpfunc, "a", (4, 4))
+        if sys.platform == 'darwin' or hasattr(a, 'sortUsingFunction_context_range_'):
+            def cmpfunc(l, r, c):
+                return -cmp(l,r)
 
-        self.assertEquals(a, (0, 1, 2, 3, 7, 6, 5, 4, 8, 9))
+            a.sortUsingFunction_context_range_(cmpfunc, "a", (4, 4))
+
+            self.assertEquals(a, (0, 1, 2, 3, 7, 6, 5, 4, 8, 9))
 
     def testSort3(self):
         """ check the sort method, list interface compatibility """
         self.assertEquals(a, (0, 1, 2, 3))
 
     def test_unsupportedMethods(self):
-        """
-        Check that calling unsupported methods results in a TypeError
-        """
+        #
+        # Check that calling unsupported methods results in a TypeError
+        #
+        # NOTE: Some of these don't even exist on GNUstep
         o = NSArray.arrayWithArray_(range(4))
         self.assertRaises(TypeError, o.getObjects_)
         self.assertRaises(TypeError, o.getObjects_range_, (1,2))
-        self.assertRaises(TypeError, o.apply_context_, lambda x, y:None, 0)
+        if sys.platform == 'darwin' or hasattr(o, 'apply_context_'):
+            self.assertRaises(TypeError, o.apply_context_, lambda x, y:None, 0)
 
 if __name__ == '__main__':
     unittest.main()

pyobjc/Lib/Foundation/test/test_nsdecimal.py

+import unittest
+from Foundation import *
+
+class TestNSDecimal (unittest.TestCase):
+    def testCreation(self):
+        o = NSDecimal("1.25")
+        self.assert_(isinstance(o, NSDecimal))
+        self.assertEquals(str(o), "1.25")
+
+        o = NSDecimal(12345, -2, True)
+        self.assert_(isinstance(o, NSDecimal))
+        self.assertEquals(str(o), "-123.45")
+
+        o = NSDecimal()
+        self.assert_(isinstance(o, NSDecimal))
+        self.assert_(str(o) in ("0", "0.0"))
+
+        o = NSDecimal(1234)
+        self.assert_(isinstance(o, NSDecimal))
+        self.assertEquals(str(o), "1234")
+
+        o = NSDecimal(-1234)
+        self.assert_(isinstance(o, NSDecimal))
+        self.assertEquals(str(o), "-1234")
+
+        o = NSDecimal(long(1234))
+        self.assert_(isinstance(o, NSDecimal))
+        self.assertEquals(str(o), "1234")
+
+        o = NSDecimal(long(-1234))
+        self.assert_(isinstance(o, NSDecimal))
+        self.assertEquals(str(o), "-1234")
+
+        o = NSDecimal(1L << 64 - 1)
+
+        self.assertRaises(TypeError, NSDecimal, 1.2)
+        self.assertRaises(OverflowError, NSDecimal, 1L << 128)
+        self.assertRaises(OverflowError, NSDecimal, -1L << 128)
+
+    def testFunction(self):
+        # We only test addition, as all function wrappers are generated this 
+        # should be enough to verify that the machinery is working correctly.
+        o = NSDecimal("1.5")
+        p = NSDecimal(12345, -2, True)
+        r = NSDecimal("-121.95")
+        q = NSDecimal()
+
+        NSDecimalAdd(q, o, p, NSRoundPlain)
+
+        self.assertEquals(str(q), str(r))
+
+    def testCompare(self):
+        small = NSDecimal("1")
+        small2 = NSDecimal("1")
+        large = NSDecimal("42")
+
+        self.assert_(small == small2)
+        self.assert_(not (small == large))
+        self.assert_(not (small != small2))
+        self.assert_(small < large)
+        self.assert_(not(large < small))
+        self.assert_(not(small < small))
+        self.assert_(small <= large)
+        self.assert_(small <= small)
+        self.assert_(not(large <= small))
+        self.assert_(large > small)
+        self.assert_(not(small > large))
+        self.assert_(not(large > large))
+        self.assert_(large >= small)
+        self.assert_(large >= large)
+        self.assert_(not(small >= large))
+
+    def testConversion(self):
+        o = NSDecimal("1234.44")
+        self.assertEquals(o.as_int(), 1234)
+
+        o = NSDecimal("1.5")
+        self.assertEquals(o.as_float(), 1.5)
+
+        self.assertRaises(TypeError, int, o)
+        self.assertRaises(TypeError, float, o)
+
+class TestNSDecimalNumber (unittest.TestCase):
+    def testCreation1(self):
+        o = NSDecimalNumber.decimalNumberWithString_("1.1234")
+        self.assertEquals(o.description(), "1.1234")
+
+        p = o.decimalValue()
+        self.assert_(isinstance(p, NSDecimal))
+        self.assertEquals(str(p), "1.1234")
+
+    def testCreation2(self):
+        p = NSDecimal("1.1234")
+        o = NSDecimalNumber.decimalNumberWithDecimal_(p)
+        self.assertEquals(o.description(), "1.1234")
+
+    def testCreation3(self):
+        p = NSDecimal("1.1234")
+        o = NSDecimalNumber.alloc().initWithDecimal_(p)
+        self.assertEquals(o.description(), "1.1234")
+
+if __name__ == "__main__":
+    unittest.main()

pyobjc/Lib/Foundation/test/test_nsdictionary.py

 import unittest
 import objc
 import types
+import sys
 
 from Foundation import *
 
 
 class TestNSDictionarySubclassing(unittest.TestCase):
+    # These tests seem to be specific for MacOSX
     def testExceptionInInit(self):
+        if sys.platform != 'darwin': return
+
         class DictTestExceptionClass (NSDictionary):
             pass
 
             pass
 
     def testAnotherExceptionInInit(self):
+        if sys.platform != 'darwin': return
+
         class DictTestExceptionClass2 (NSDictionary):
             def initWithObjects_forKeys_count_(self, o, k, c):
                 return super(DictTestExceptionClass2, self).initWithObjects_forKeys_count_(o, k, c)
             pass
 
     def testExceptionInInitClsMeth(self):
+        if sys.platform != 'darwin': return
+
         class DictTestExceptionClass3 (NSDictionary):
             def initWithObjects_forKeys_count_(self, o, k, c):
                 return super(DictTestExceptionClass3, self).initWithObjects_forKeys_count_(o, k, c)

pyobjc/Lib/Foundation/test/test_nshost.py

+import unittest
+from objc.test.testbndl import PyObjC_TestClass3
+from Foundation import NSHost
+
+class TestNSHost (unittest.TestCase):
+    def testCreation(self):
+        #
+        # This gives an exception on GNUstep:
+        #   NSRecursiveLockException - unlock: failed to unlock mutex
+        #
+        # testIndirectCreation performs the same operation from Objective-C
+        # and doesn't fail. I don't see any significant differences in the
+        # implementation of -hostWithAddress: and -hostWithName: yet the latter
+        # does not have the problem we're seeing here.
+        #
+        o = NSHost.hostWithAddress_('127.0.0.1')
+        self.assertEquals(o.addresses(), ('127.0.0.1',))
+        self.assertEquals(o.address(), '127.0.0.1')
+
+    def testCreation2(self):
+        o = NSHost.hostWithName_('localhost')
+        l = list(o.addresses())
+        l.sort()
+        self.assert_(l in (['127.0.0.1', '::1'], ['127.0.0.1']))
+        self.assertEquals(o.address(), o.addresses()[0])
+
+    def testIndirectCreation(self):
+        o = PyObjC_TestClass3.createAHostWithAddress_('127.0.0.1')
+        self.assertEquals(o.address(), '127.0.0.1')
+
+if __name__ == "__main__":
+    unittest.main()

pyobjc/Lib/Foundation/test/test_nslocalizedstring.py

     def testBasic(self):
         # This is mostly a regression tests, the function used to crash on 
         # this...
+        if objc.runtime.NSBundle.mainBundle() is None:
+            # This is true on GNUstep, that sucks but this test is not
+            # important enough to look for a work-around.
+            return
 
         s = NSLocalizedString("hello world", "")
         objc.recycleAutoreleasePool()

pyobjc/Lib/Foundation/test/test_nsmachport.py

 import unittest
 import objc
+import Foundation
 
-from Foundation import NSMachPort
+if hasattr(Foundation, 'NSMachPort'):
+    class TestNSMachPort(unittest.TestCase):
+        def testAlloc(self):
+            obj = Foundation.NSMachPort.alloc()
+            self.assert_(obj is not None)
 
-class TestNSMachPort(unittest.TestCase):
-    def testAlloc(self):
-        obj = NSMachPort.alloc()
-        self.assert_(obj is not None)
-
-        obj = obj.init()
-        self.assert_(obj is not None)
+            obj = obj.init()
+            self.assert_(obj is not None)
 
 if __name__ == '__main__':
     unittest.main( )

pyobjc/Lib/Foundation/test/test_nsnumber.py

 </plist>
 """
 
-class TestPropList (unittest.TestCase):
-    """
-    Test if numbers are stored properly in property-list. The most 
-    important part of the testcase are boolean values.
-    """
+if sys.platform == 'darwin':
+    class TestPropList (unittest.TestCase):
+        #Test if numbers are stored properly in property-list. The most 
+        #important part of the testcase are boolean values.
+        # 
+        # NOTE: GNUstep uses the old NeXT property lists, and these tests
+        # will fail.
 
-    def testPropertyList1(self):
-        d = NSMutableDictionary.dictionary()
+        def testPropertyList1(self):
+            d = NSMutableDictionary.dictionary()
 
-        # Python 2.3 only...
-        d['plain'] = 1
-        d['bool'] = objc.YES
+            # Python 2.3 only...
+            d['plain'] = 1
+            d['bool'] = objc.YES
 
-        self.assertEquals(d.writeToFile_atomically_(
-            "/tmp/pyobjctest.plist", 0), 1)
-        
-        fd = open('/tmp/pyobjctest.plist', 'ru')
-        data = fd.read()
-        fd.close()
+            self.assertEquals(d.writeToFile_atomically_(
+                "/tmp/pyobjctest.plist", 0), 1)
+            
+            fd = open('/tmp/pyobjctest.plist', 'ru')
+            data = fd.read()
+            fd.close()
 
-        self.assertEquals(stripDocType(data), stripDocType(PLIST))
+            self.assertEquals(stripDocType(data), stripDocType(PLIST))
 
-    def testPropertyList2(self):
-        d = NSMutableDictionary.dictionary()
+        def testPropertyList2(self):
+            d = NSMutableDictionary.dictionary()
 
-        d['plain'] = NSNumber.numberWithLong_(1)
-        d['bool'] = NSNumber.numberWithBool_(1)
+            d['plain'] = NSNumber.numberWithLong_(1)
+            d['bool'] = NSNumber.numberWithBool_(1)
 
-        self.assertEquals(d.writeToFile_atomically_(
-            "/tmp/pyobjctest.plist", 0), 1)
-        
-        fd = open('/tmp/pyobjctest.plist', 'ru')
-        data = fd.read()
-        fd.close()
+            self.assertEquals(d.writeToFile_atomically_(
+                "/tmp/pyobjctest.plist", 0), 1)
+            
+            fd = open('/tmp/pyobjctest.plist', 'ru')
+            data = fd.read()
+            fd.close()
 
-        self.assertEquals(stripDocType(data), stripDocType(PLIST))
+            self.assertEquals(stripDocType(data), stripDocType(PLIST))
 
 class TestDecimalNumber (unittest.TestCase):
     # NSDecimalNumber is treated specially

pyobjc/Lib/Foundation/test/test_nsundomanager.py

 import objc
 
 from Foundation import *
+import Foundation
 
 class TestHelper (NSObject):
     def incFoo_(self, foo):
 # the actual routine I want to use is
 # NSTableView.editColumn_row_withEvent_select_
 # but that involves setting up a UI; instead use NSIndexSpecifier
-class TestUndoInt(unittest.TestCase):
-    class UndoInt(NSObject):
-        undo = NSUndoManager.alloc().init()
-        idx = NSIndexSpecifier.alloc().init()
-        idx.setIndex_(0)
 
-        def test(self,i):
-            self.undo.prepareWithInvocationTarget_(self).test(self.idx.index())
-            self.idx.setIndex_(i)
+if hasattr(Foundation, 'NSIndexSpecifier'):
+    class TestUndoInt(unittest.TestCase):
+        class UndoInt(NSObject):
+            undo = NSUndoManager.alloc().init()
+            idx = NSIndexSpecifier.alloc().init()
+            idx.setIndex_(0)
 
-    def testUndoInt(self):
-        # test that undo works
-        x = TestUndoInt.UndoInt.alloc().init()
-        x.test(3)
-        assert(x.idx.index() == 3)
-        x.undo.undo()
-        assert(x.idx.index() == 0)
+            def test(self,i):
+                self.undo.prepareWithInvocationTarget_(self).test(self.idx.index())
+                self.idx.setIndex_(i)
+
+        def testUndoInt(self):
+            # test that undo works
+            x = TestUndoInt.UndoInt.alloc().init()
+            x.test(3)
+            assert(x.idx.index() == 3)
+            x.undo.undo()
+            assert(x.idx.index() == 0)
 ## end Undo Integer test
 
 

pyobjc/Lib/objc/test/test_keyvalue.py

     def getFoobar(self):
         return "Hello world"
 
-class TestKeyValueObservingFromNative (unittest.TestCase):
-    # This test makes uses of Key-Value Coding/Observing from Objective-C.
-    # Versions of PyObjC upto 2003-12-29 crashed on this test due to the way
-    # key-value observing is implemented in Cocoa.
+if PyObjCTest_KeyValueObserver is not None:
+    class TestKeyValueObservingFromNative (unittest.TestCase):
+        # This test makes uses of Key-Value Coding/Observing from Objective-C.
+        # Versions of PyObjC upto 2003-12-29 crashed on this test due to the way
+        # key-value observing is implemented in Cocoa.
 
-    def testOne(self):
-        o = PyObjCTest_KeyValueObserver.alloc().initWithInstanceOfClass_withKey_(PyObjC_TestKeyValueSource, "foobar")
-        self.assertEquals(o.getValue(), "Hello world")
+        def testOne(self):
+            o = PyObjCTest_KeyValueObserver.alloc().initWithInstanceOfClass_withKey_(PyObjC_TestKeyValueSource, "foobar")
+            self.assertEquals(o.getValue(), "Hello world")
 
 if __name__ == "__main__":
     unittest.main()

pyobjc/Lib/objc/test/test_methodaccess.py

         self.assertRaises(AttributeError, getattr, objc.runtime.NSProxy.pyobjc_classMethods, 'foobar')
         self.assertRaises(AttributeError, getattr, objc.runtime.NSProxy, 'foobar')
 
-    def testNSZombie(self):
-        self.assertRaises(AttributeError, getattr, objc.runtime._NSZombie.pyobjc_instanceMethods, "foobar")
-        self.assertRaises(AttributeError, getattr, objc.runtime._NSZombie.pyobjc_classMethods, "foobar")
-        self.assertRaises(AttributeError, getattr, objc.runtime._NSZombie, "foobar")
+    if sys.platform == 'darwin':
+        def testNSZombie(self):
+            self.assertRaises(AttributeError, getattr, objc.runtime._NSZombie.pyobjc_instanceMethods, "foobar")
+            self.assertRaises(AttributeError, getattr, objc.runtime._NSZombie.pyobjc_classMethods, "foobar")
+            self.assertRaises(AttributeError, getattr, objc.runtime._NSZombie, "foobar")
 
 
     def testDir(self):

pyobjc/Lib/objc/test/test_methods.py

 
     def testIDOC(self):
         # Test an Objective-C object as the argument
-        c = objc.lookUpClass("NSHost")
-        o = c.hostWithAddress_('127.0.0.1')
+
+        # NSHost gives problems on GNUstep, better check those problems
+        # seperately in the Foundation test suite.
+        #c = objc.lookUpClass("NSHost")
+        #o = c.hostWithAddress_('127.0.0.1')
+
+        c = objc.lookUpClass("NSScanner")
+        o = c.scannerWithString_("hello world")
         s = self.obj.idArg_(o)
         self.assertEquals(len(s), 1)
         self.assert_(s[0] is o)

pyobjc/Lib/objc/test/test_methods2.py

 
 # First make sure that the pass-by-reference methods have the correct signature
 setSignature = objc.setSignatureForSelector
-setSignature("PyObjC_TestClass1", "boolInOutArg:", "@@:N^B")
-setSignature("PyObjC_TestClass1", "boolOutArg:", "v@:o^B")
-setSignature("PyObjC_TestClass1", "boolInArg:", "@@:n^B")
-setSignature("PyObjC_TestClass2", "callboolInOutArg:of:", "@@:N^B@")
-setSignature("PyObjC_TestClass2", "callboolOutArg:of:", "v@:o^B@")
-setSignature("PyObjC_TestClass2", "callboolInArg:of:", "@@:n^B@")
-setSignature("PyObjC_TestClass2", "invokeboolInOutArg:of:", "@@:N^B@")
-setSignature("PyObjC_TestClass2", "invokeboolOutArg:of:", "v@:o^B@")
-setSignature("PyObjC_TestClass2", "invokeboolInArg:of:", "@@:n^B@")
-setSignature("PyObjC_TestClass1", "BOOLInOutArg:", "@@:N^c")
-setSignature("PyObjC_TestClass1", "BOOLOutArg:", "v@:o^c")
-setSignature("PyObjC_TestClass1", "BOOLInArg:", "@@:n^c")
-setSignature("PyObjC_TestClass2", "callBOOLInOutArg:of:", "@@:N^c@")
-setSignature("PyObjC_TestClass2", "callBOOLOutArg:of:", "v@:o^c@")
-setSignature("PyObjC_TestClass2", "callBOOLInArg:of:", "@@:n^c@")
-setSignature("PyObjC_TestClass2", "invokeBOOLInOutArg:of:", "@@:N^c@")
-setSignature("PyObjC_TestClass2", "invokeBOOLOutArg:of:", "v@:o^c@")
-setSignature("PyObjC_TestClass2", "invokeBOOLInArg:of:", "@@:n^c@")
+setSignature("PyObjC_TestClass1", "BOOLInOutArg:", "@@:N^C")
+setSignature("PyObjC_TestClass1", "BOOLOutArg:", "v@:o^C")
+setSignature("PyObjC_TestClass1", "BOOLInArg:", "@@:n^C")
+setSignature("PyObjC_TestClass2", "callBOOLInOutArg:of:", "@@:N^C@")
+setSignature("PyObjC_TestClass2", "callBOOLOutArg:of:", "v@:o^C@")
+setSignature("PyObjC_TestClass2", "callBOOLInArg:of:", "@@:n^C@")
+setSignature("PyObjC_TestClass2", "invokeBOOLInOutArg:of:", "@@:N^C@")
+setSignature("PyObjC_TestClass2", "invokeBOOLOutArg:of:", "v@:o^C@")
+setSignature("PyObjC_TestClass2", "invokeBOOLInArg:of:", "@@:n^C@")
 setSignature("PyObjC_TestClass1", "charInOutArg:", "@@:N^c")
 setSignature("PyObjC_TestClass1", "charOutArg:", "v@:o^c")
 setSignature("PyObjC_TestClass1", "charInArg:", "@@:n^c")
 	# Test calling Objective-C from Python
 	# Simple returns from class methods
 
-	def testClsboolResult(self):
-		PyObjC_TestClass1.clsReset()
-		self.assertEquals(PyObjC_TestClass1.boolClsMethod(), YES)
-		self.assertEquals(PyObjC_TestClass1.boolClsMethod(), NO)
-
-
 	def testClsBOOLResult(self):
 		PyObjC_TestClass1.clsReset()
 		self.assertEquals(PyObjC_TestClass1.BOOLClsMethod(), YES)
 
 	# Simple returns from instance methods
 
-	def testboolResult(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		o.reset()
-		self.assertEquals(o.boolMethod(), YES)
-		self.assertEquals(o.boolMethod(), NO)
-
-
 	def testBOOLResult(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 
 	# One argument
 
-	def testboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_(YES)
-		self.assertEquals(r, YES)
-		r = o.boolArg_(NO)
-		self.assertEquals(r, NO)
-
-
 	def testBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 
 	# Two arguments
 
-	def testboolAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andboolArg_(YES, YES)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], YES)
-		r = o.boolArg_andboolArg_(YES, NO)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], NO)
-		r = o.boolArg_andboolArg_(NO, YES)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], YES)
-		r = o.boolArg_andboolArg_(NO, NO)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], NO)
-
-
-	def testboolAndBOOLArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andBOOLArg_(YES, YES)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], YES)
-		r = o.boolArg_andBOOLArg_(YES, NO)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], NO)
-		r = o.boolArg_andBOOLArg_(NO, YES)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], YES)
-		r = o.boolArg_andBOOLArg_(NO, NO)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], NO)
-
-
-	def testboolAndcharArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andcharArg_(YES, -128)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], -128)
-		r = o.boolArg_andcharArg_(YES, 0)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andcharArg_(YES, 127)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 127)
-		r = o.boolArg_andcharArg_(NO, -128)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], -128)
-		r = o.boolArg_andcharArg_(NO, 0)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andcharArg_(NO, 127)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 127)
-
-
-	def testboolAndsignedshortArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andsignedshortArg_(YES, -(1<<14))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], -(1<<14))
-		r = o.boolArg_andsignedshortArg_(YES, -42)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], -42)
-		r = o.boolArg_andsignedshortArg_(YES, 0)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andsignedshortArg_(YES, 42)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andsignedshortArg_(YES, 1 << 14)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 1 << 14)
-		r = o.boolArg_andsignedshortArg_(NO, -(1<<14))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], -(1<<14))
-		r = o.boolArg_andsignedshortArg_(NO, -42)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], -42)
-		r = o.boolArg_andsignedshortArg_(NO, 0)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andsignedshortArg_(NO, 42)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andsignedshortArg_(NO, 1 << 14)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 1 << 14)
-
-
-	def testboolAndsignedintArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andsignedintArg_(YES, -(1<<30))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], -(1<<30))
-		r = o.boolArg_andsignedintArg_(YES, -42)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], -42)
-		r = o.boolArg_andsignedintArg_(YES, 0)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andsignedintArg_(YES, 42)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andsignedintArg_(YES, 1 << 30)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 1 << 30)
-		r = o.boolArg_andsignedintArg_(NO, -(1<<30))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], -(1<<30))
-		r = o.boolArg_andsignedintArg_(NO, -42)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], -42)
-		r = o.boolArg_andsignedintArg_(NO, 0)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andsignedintArg_(NO, 42)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andsignedintArg_(NO, 1 << 30)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 1 << 30)
-
-
-	def testboolAndsignedlongArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andsignedlongArg_(YES, -(1<<30))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], -(1<<30))
-		r = o.boolArg_andsignedlongArg_(YES, -42)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], -42)
-		r = o.boolArg_andsignedlongArg_(YES, 0)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andsignedlongArg_(YES, 42)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andsignedlongArg_(YES, 1 << 30)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 1 << 30)
-		r = o.boolArg_andsignedlongArg_(NO, -(1<<30))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], -(1<<30))
-		r = o.boolArg_andsignedlongArg_(NO, -42)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], -42)
-		r = o.boolArg_andsignedlongArg_(NO, 0)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andsignedlongArg_(NO, 42)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andsignedlongArg_(NO, 1 << 30)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 1 << 30)
-
-
-	def testboolAndsignedlonglongArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andsignedlonglongArg_(YES, -(1L << 60))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], -(1L << 60))
-		r = o.boolArg_andsignedlonglongArg_(YES, -42)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], -42)
-		r = o.boolArg_andsignedlonglongArg_(YES, 0)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andsignedlonglongArg_(YES, 42)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andsignedlonglongArg_(YES, 1L << 60)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 1L << 60)
-		r = o.boolArg_andsignedlonglongArg_(NO, -(1L << 60))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], -(1L << 60))
-		r = o.boolArg_andsignedlonglongArg_(NO, -42)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], -42)
-		r = o.boolArg_andsignedlonglongArg_(NO, 0)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andsignedlonglongArg_(NO, 42)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andsignedlonglongArg_(NO, 1L << 60)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 1L << 60)
-
-
-	def testboolAndunsignedcharArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andunsignedcharArg_(YES, 0)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andunsignedcharArg_(YES, 128)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 128)
-		r = o.boolArg_andunsignedcharArg_(YES, 255)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 255)
-		r = o.boolArg_andunsignedcharArg_(NO, 0)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andunsignedcharArg_(NO, 128)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 128)
-		r = o.boolArg_andunsignedcharArg_(NO, 255)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 255)
-
-
-	def testboolAndunsignedshortArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andunsignedshortArg_(YES, 0)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andunsignedshortArg_(YES, 42)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andunsignedshortArg_(YES, 1<<14)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 1<<14)
-		r = o.boolArg_andunsignedshortArg_(NO, 0)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andunsignedshortArg_(NO, 42)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andunsignedshortArg_(NO, 1<<14)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 1<<14)
-
-
-	def testboolAndunsignedintArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andunsignedintArg_(YES, 0)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andunsignedintArg_(YES, 42)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andunsignedintArg_(YES, 1 << 30)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 1 << 30)
-		r = o.boolArg_andunsignedintArg_(NO, 0)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andunsignedintArg_(NO, 42)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andunsignedintArg_(NO, 1 << 30)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 1 << 30)
-
-
-	def testboolAndunsignedlongArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andunsignedlongArg_(YES, 0)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andunsignedlongArg_(YES, 42)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andunsignedlongArg_(YES, 1L << 30)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 1L << 30)
-		r = o.boolArg_andunsignedlongArg_(NO, 0)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andunsignedlongArg_(NO, 42)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andunsignedlongArg_(NO, 1L << 30)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 1L << 30)
-
-
-	def testboolAndunsignedlonglongArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andunsignedlonglongArg_(YES, 0)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andunsignedlonglongArg_(YES, 42)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andunsignedlonglongArg_(YES, 1L << 62)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], 1L << 62)
-		r = o.boolArg_andunsignedlonglongArg_(NO, 0)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 0)
-		r = o.boolArg_andunsignedlonglongArg_(NO, 42)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 42)
-		r = o.boolArg_andunsignedlonglongArg_(NO, 1L << 62)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], 1L << 62)
-
-
-	def testboolAndfloatArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andfloatArg_(YES, 0.128)
-		self.assertEquals(r[0], YES)
-		self.assertAlmostEquals(r[1], 0.128)
-		r = o.boolArg_andfloatArg_(YES, 1.0)
-		self.assertEquals(r[0], YES)
-		self.assertAlmostEquals(r[1], 1.0)
-		r = o.boolArg_andfloatArg_(YES, 42.0)
-		self.assertEquals(r[0], YES)
-		self.assertAlmostEquals(r[1], 42.0)
-		r = o.boolArg_andfloatArg_(YES, 1e10)
-		self.assertEquals(r[0], YES)
-		self.assertAlmostEquals(r[1], 1e10)
-		r = o.boolArg_andfloatArg_(NO, 0.128)
-		self.assertEquals(r[0], NO)
-		self.assertAlmostEquals(r[1], 0.128)
-		r = o.boolArg_andfloatArg_(NO, 1.0)
-		self.assertEquals(r[0], NO)
-		self.assertAlmostEquals(r[1], 1.0)
-		r = o.boolArg_andfloatArg_(NO, 42.0)
-		self.assertEquals(r[0], NO)
-		self.assertAlmostEquals(r[1], 42.0)
-		r = o.boolArg_andfloatArg_(NO, 1e10)
-		self.assertEquals(r[0], NO)
-		self.assertAlmostEquals(r[1], 1e10)
-
-
-	def testboolAnddoubleArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_anddoubleArg_(YES, 0.128)
-		self.assertEquals(r[0], YES)
-		self.assertAlmostEquals(r[1], 0.128)
-		r = o.boolArg_anddoubleArg_(YES, 1.0)
-		self.assertEquals(r[0], YES)
-		self.assertAlmostEquals(r[1], 1.0)
-		r = o.boolArg_anddoubleArg_(YES, 42.0)
-		self.assertEquals(r[0], YES)
-		self.assertAlmostEquals(r[1], 42.0)
-		r = o.boolArg_anddoubleArg_(YES, 1e10)
-		self.assertEquals(r[0], YES)
-		self.assertAlmostEquals(r[1], 1e10)
-		r = o.boolArg_anddoubleArg_(NO, 0.128)
-		self.assertEquals(r[0], NO)
-		self.assertAlmostEquals(r[1], 0.128)
-		r = o.boolArg_anddoubleArg_(NO, 1.0)
-		self.assertEquals(r[0], NO)
-		self.assertAlmostEquals(r[1], 1.0)
-		r = o.boolArg_anddoubleArg_(NO, 42.0)
-		self.assertEquals(r[0], NO)
-		self.assertAlmostEquals(r[1], 42.0)
-		r = o.boolArg_anddoubleArg_(NO, 1e10)
-		self.assertEquals(r[0], NO)
-		self.assertAlmostEquals(r[1], 1e10)
-
-
-	def testboolAndidArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andidArg_(YES, NSPriorDayDesignations)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], NSPriorDayDesignations)
-		r = o.boolArg_andidArg_(NO, NSPriorDayDesignations)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], NSPriorDayDesignations)
-
-
-	def testboolAndcharPtrArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andcharPtrArg_(YES, "hello")
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], "hello")
-		r = o.boolArg_andcharPtrArg_(YES, "world")
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], "world")
-		r = o.boolArg_andcharPtrArg_(YES, "foobar")
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], "foobar")
-		r = o.boolArg_andcharPtrArg_(NO, "hello")
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], "hello")
-		r = o.boolArg_andcharPtrArg_(NO, "world")
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], "world")
-		r = o.boolArg_andcharPtrArg_(NO, "foobar")
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], "foobar")
-
-
-	def testboolAndNSPointArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andNSPointArg_(YES, (1, 2))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], (1, 2))
-		r = o.boolArg_andNSPointArg_(YES, (3, 4))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], (3, 4))
-		r = o.boolArg_andNSPointArg_(NO, (1, 2))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], (1, 2))
-		r = o.boolArg_andNSPointArg_(NO, (3, 4))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], (3, 4))
-
-
-	def testboolAndNSRectArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andNSRectArg_(YES, ((1, 2), (3, 4)))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], ((1, 2), (3, 4)))
-		r = o.boolArg_andNSRectArg_(YES, ((7, 8), (9, 10)))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], ((7, 8), (9, 10)))
-		r = o.boolArg_andNSRectArg_(NO, ((1, 2), (3, 4)))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], ((1, 2), (3, 4)))
-		r = o.boolArg_andNSRectArg_(NO, ((7, 8), (9, 10)))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], ((7, 8), (9, 10)))
-
-
-	def testboolAndstructTestStruct1Arg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andstructTestStruct1Arg_(YES, (1, 2, (1, 2, 3, 4, 5)))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], (1, 2, (1, 2, 3, 4, 5)))
-		r = o.boolArg_andstructTestStruct1Arg_(YES, (9, 8, (-1, -2, -3, -4, -5)))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], (9, 8, (-1, -2, -3, -4, -5)))
-		r = o.boolArg_andstructTestStruct1Arg_(NO, (1, 2, (1, 2, 3, 4, 5)))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], (1, 2, (1, 2, 3, 4, 5)))
-		r = o.boolArg_andstructTestStruct1Arg_(NO, (9, 8, (-1, -2, -3, -4, -5)))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], (9, 8, (-1, -2, -3, -4, -5)))
-
-
-	def testboolAndstructTestStruct2Arg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andstructTestStruct2Arg_(YES, (1, 2, (1, 2, 3, 4, 5)))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], (1, 2, (1, 2, 3, 4, 5)))
-		r = o.boolArg_andstructTestStruct2Arg_(YES, (9, 8, (-1, -2, -3, -4, -5)))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], (9, 8, (-1, -2, -3, -4, -5)))
-		r = o.boolArg_andstructTestStruct2Arg_(NO, (1, 2, (1, 2, 3, 4, 5)))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], (1, 2, (1, 2, 3, 4, 5)))
-		r = o.boolArg_andstructTestStruct2Arg_(NO, (9, 8, (-1, -2, -3, -4, -5)))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], (9, 8, (-1, -2, -3, -4, -5)))
-
-
-	def testboolAndstructTestStruct3Arg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolArg_andstructTestStruct3Arg_(YES, (1, 2))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], (1, 2))
-		r = o.boolArg_andstructTestStruct3Arg_(YES, (2, 4))
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], (2, 4))
-		r = o.boolArg_andstructTestStruct3Arg_(NO, (1, 2))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], (1, 2))
-		r = o.boolArg_andstructTestStruct3Arg_(NO, (2, 4))
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], (2, 4))
-
-
-	def testBOOLAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.BOOLArg_andboolArg_(YES, YES)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], YES)
-		r = o.BOOLArg_andboolArg_(YES, NO)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], NO)
-		r = o.BOOLArg_andboolArg_(NO, YES)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], YES)
-		r = o.BOOLArg_andboolArg_(NO, NO)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], NO)
-
-
 	def testBOOLAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testcharAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.charArg_andboolArg_(-128, YES)
-		self.assertEquals(r[0], -128)
-		self.assertEquals(r[1], YES)
-		r = o.charArg_andboolArg_(-128, NO)
-		self.assertEquals(r[0], -128)
-		self.assertEquals(r[1], NO)
-		r = o.charArg_andboolArg_(0, YES)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], YES)
-		r = o.charArg_andboolArg_(0, NO)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], NO)
-		r = o.charArg_andboolArg_(127, YES)
-		self.assertEquals(r[0], 127)
-		self.assertEquals(r[1], YES)
-		r = o.charArg_andboolArg_(127, NO)
-		self.assertEquals(r[0], 127)
-		self.assertEquals(r[1], NO)
-
-
 	def testcharAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testsignedshortAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.signedshortArg_andboolArg_(-(1<<14), YES)
-		self.assertEquals(r[0], -(1<<14))
-		self.assertEquals(r[1], YES)
-		r = o.signedshortArg_andboolArg_(-(1<<14), NO)
-		self.assertEquals(r[0], -(1<<14))
-		self.assertEquals(r[1], NO)
-		r = o.signedshortArg_andboolArg_(-42, YES)
-		self.assertEquals(r[0], -42)
-		self.assertEquals(r[1], YES)
-		r = o.signedshortArg_andboolArg_(-42, NO)
-		self.assertEquals(r[0], -42)
-		self.assertEquals(r[1], NO)
-		r = o.signedshortArg_andboolArg_(0, YES)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], YES)
-		r = o.signedshortArg_andboolArg_(0, NO)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], NO)
-		r = o.signedshortArg_andboolArg_(42, YES)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], YES)
-		r = o.signedshortArg_andboolArg_(42, NO)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], NO)
-		r = o.signedshortArg_andboolArg_(1 << 14, YES)
-		self.assertEquals(r[0], 1 << 14)
-		self.assertEquals(r[1], YES)
-		r = o.signedshortArg_andboolArg_(1 << 14, NO)
-		self.assertEquals(r[0], 1 << 14)
-		self.assertEquals(r[1], NO)
-
-
 	def testsignedshortAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testsignedintAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.signedintArg_andboolArg_(-(1<<30), YES)
-		self.assertEquals(r[0], -(1<<30))
-		self.assertEquals(r[1], YES)
-		r = o.signedintArg_andboolArg_(-(1<<30), NO)
-		self.assertEquals(r[0], -(1<<30))
-		self.assertEquals(r[1], NO)
-		r = o.signedintArg_andboolArg_(-42, YES)
-		self.assertEquals(r[0], -42)
-		self.assertEquals(r[1], YES)
-		r = o.signedintArg_andboolArg_(-42, NO)
-		self.assertEquals(r[0], -42)
-		self.assertEquals(r[1], NO)
-		r = o.signedintArg_andboolArg_(0, YES)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], YES)
-		r = o.signedintArg_andboolArg_(0, NO)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], NO)
-		r = o.signedintArg_andboolArg_(42, YES)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], YES)
-		r = o.signedintArg_andboolArg_(42, NO)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], NO)
-		r = o.signedintArg_andboolArg_(1 << 30, YES)
-		self.assertEquals(r[0], 1 << 30)
-		self.assertEquals(r[1], YES)
-		r = o.signedintArg_andboolArg_(1 << 30, NO)
-		self.assertEquals(r[0], 1 << 30)
-		self.assertEquals(r[1], NO)
-
-
 	def testsignedintAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testsignedlongAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.signedlongArg_andboolArg_(-(1<<30), YES)
-		self.assertEquals(r[0], -(1<<30))
-		self.assertEquals(r[1], YES)
-		r = o.signedlongArg_andboolArg_(-(1<<30), NO)
-		self.assertEquals(r[0], -(1<<30))
-		self.assertEquals(r[1], NO)
-		r = o.signedlongArg_andboolArg_(-42, YES)
-		self.assertEquals(r[0], -42)
-		self.assertEquals(r[1], YES)
-		r = o.signedlongArg_andboolArg_(-42, NO)
-		self.assertEquals(r[0], -42)
-		self.assertEquals(r[1], NO)
-		r = o.signedlongArg_andboolArg_(0, YES)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], YES)
-		r = o.signedlongArg_andboolArg_(0, NO)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], NO)
-		r = o.signedlongArg_andboolArg_(42, YES)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], YES)
-		r = o.signedlongArg_andboolArg_(42, NO)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], NO)
-		r = o.signedlongArg_andboolArg_(1 << 30, YES)
-		self.assertEquals(r[0], 1 << 30)
-		self.assertEquals(r[1], YES)
-		r = o.signedlongArg_andboolArg_(1 << 30, NO)
-		self.assertEquals(r[0], 1 << 30)
-		self.assertEquals(r[1], NO)
-
-
 	def testsignedlongAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testsignedlonglongAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.signedlonglongArg_andboolArg_(-(1L << 60), YES)
-		self.assertEquals(r[0], -(1L << 60))
-		self.assertEquals(r[1], YES)
-		r = o.signedlonglongArg_andboolArg_(-(1L << 60), NO)
-		self.assertEquals(r[0], -(1L << 60))
-		self.assertEquals(r[1], NO)
-		r = o.signedlonglongArg_andboolArg_(-42, YES)
-		self.assertEquals(r[0], -42)
-		self.assertEquals(r[1], YES)
-		r = o.signedlonglongArg_andboolArg_(-42, NO)
-		self.assertEquals(r[0], -42)
-		self.assertEquals(r[1], NO)
-		r = o.signedlonglongArg_andboolArg_(0, YES)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], YES)
-		r = o.signedlonglongArg_andboolArg_(0, NO)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], NO)
-		r = o.signedlonglongArg_andboolArg_(42, YES)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], YES)
-		r = o.signedlonglongArg_andboolArg_(42, NO)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], NO)
-		r = o.signedlonglongArg_andboolArg_(1L << 60, YES)
-		self.assertEquals(r[0], 1L << 60)
-		self.assertEquals(r[1], YES)
-		r = o.signedlonglongArg_andboolArg_(1L << 60, NO)
-		self.assertEquals(r[0], 1L << 60)
-		self.assertEquals(r[1], NO)
-
-
 	def testsignedlonglongAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testunsignedcharAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.unsignedcharArg_andboolArg_(0, YES)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedcharArg_andboolArg_(0, NO)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], NO)
-		r = o.unsignedcharArg_andboolArg_(128, YES)
-		self.assertEquals(r[0], 128)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedcharArg_andboolArg_(128, NO)
-		self.assertEquals(r[0], 128)
-		self.assertEquals(r[1], NO)
-		r = o.unsignedcharArg_andboolArg_(255, YES)
-		self.assertEquals(r[0], 255)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedcharArg_andboolArg_(255, NO)
-		self.assertEquals(r[0], 255)
-		self.assertEquals(r[1], NO)
-
-
 	def testunsignedcharAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testunsignedshortAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.unsignedshortArg_andboolArg_(0, YES)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedshortArg_andboolArg_(0, NO)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], NO)
-		r = o.unsignedshortArg_andboolArg_(42, YES)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedshortArg_andboolArg_(42, NO)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], NO)
-		r = o.unsignedshortArg_andboolArg_(1<<14, YES)
-		self.assertEquals(r[0], 1<<14)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedshortArg_andboolArg_(1<<14, NO)
-		self.assertEquals(r[0], 1<<14)
-		self.assertEquals(r[1], NO)
-
-
 	def testunsignedshortAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testunsignedintAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.unsignedintArg_andboolArg_(0, YES)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedintArg_andboolArg_(0, NO)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], NO)
-		r = o.unsignedintArg_andboolArg_(42, YES)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedintArg_andboolArg_(42, NO)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], NO)
-		r = o.unsignedintArg_andboolArg_(1 << 30, YES)
-		self.assertEquals(r[0], 1 << 30)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedintArg_andboolArg_(1 << 30, NO)
-		self.assertEquals(r[0], 1 << 30)
-		self.assertEquals(r[1], NO)
-
-
 	def testunsignedintAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testunsignedlongAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.unsignedlongArg_andboolArg_(0, YES)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedlongArg_andboolArg_(0, NO)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], NO)
-		r = o.unsignedlongArg_andboolArg_(42, YES)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedlongArg_andboolArg_(42, NO)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], NO)
-		r = o.unsignedlongArg_andboolArg_(1L << 30, YES)
-		self.assertEquals(r[0], 1L << 30)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedlongArg_andboolArg_(1L << 30, NO)
-		self.assertEquals(r[0], 1L << 30)
-		self.assertEquals(r[1], NO)
-
-
 	def testunsignedlongAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testunsignedlonglongAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.unsignedlonglongArg_andboolArg_(0, YES)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedlonglongArg_andboolArg_(0, NO)
-		self.assertEquals(r[0], 0)
-		self.assertEquals(r[1], NO)
-		r = o.unsignedlonglongArg_andboolArg_(42, YES)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedlonglongArg_andboolArg_(42, NO)
-		self.assertEquals(r[0], 42)
-		self.assertEquals(r[1], NO)
-		r = o.unsignedlonglongArg_andboolArg_(1L << 62, YES)
-		self.assertEquals(r[0], 1L << 62)
-		self.assertEquals(r[1], YES)
-		r = o.unsignedlonglongArg_andboolArg_(1L << 62, NO)
-		self.assertEquals(r[0], 1L << 62)
-		self.assertEquals(r[1], NO)
-
-
 	def testunsignedlonglongAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testfloatAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.floatArg_andboolArg_(0.128, YES)
-		self.assertAlmostEquals(r[0], 0.128)
-		self.assertEquals(r[1], YES)
-		r = o.floatArg_andboolArg_(0.128, NO)
-		self.assertAlmostEquals(r[0], 0.128)
-		self.assertEquals(r[1], NO)
-		r = o.floatArg_andboolArg_(1.0, YES)
-		self.assertAlmostEquals(r[0], 1.0)
-		self.assertEquals(r[1], YES)
-		r = o.floatArg_andboolArg_(1.0, NO)
-		self.assertAlmostEquals(r[0], 1.0)
-		self.assertEquals(r[1], NO)
-		r = o.floatArg_andboolArg_(42.0, YES)
-		self.assertAlmostEquals(r[0], 42.0)
-		self.assertEquals(r[1], YES)
-		r = o.floatArg_andboolArg_(42.0, NO)
-		self.assertAlmostEquals(r[0], 42.0)
-		self.assertEquals(r[1], NO)
-		r = o.floatArg_andboolArg_(1e10, YES)
-		self.assertAlmostEquals(r[0], 1e10)
-		self.assertEquals(r[1], YES)
-		r = o.floatArg_andboolArg_(1e10, NO)
-		self.assertAlmostEquals(r[0], 1e10)
-		self.assertEquals(r[1], NO)
-
-
 	def testfloatAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testdoubleAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.doubleArg_andboolArg_(0.128, YES)
-		self.assertAlmostEquals(r[0], 0.128)
-		self.assertEquals(r[1], YES)
-		r = o.doubleArg_andboolArg_(0.128, NO)
-		self.assertAlmostEquals(r[0], 0.128)
-		self.assertEquals(r[1], NO)
-		r = o.doubleArg_andboolArg_(1.0, YES)
-		self.assertAlmostEquals(r[0], 1.0)
-		self.assertEquals(r[1], YES)
-		r = o.doubleArg_andboolArg_(1.0, NO)
-		self.assertAlmostEquals(r[0], 1.0)
-		self.assertEquals(r[1], NO)
-		r = o.doubleArg_andboolArg_(42.0, YES)
-		self.assertAlmostEquals(r[0], 42.0)
-		self.assertEquals(r[1], YES)
-		r = o.doubleArg_andboolArg_(42.0, NO)
-		self.assertAlmostEquals(r[0], 42.0)
-		self.assertEquals(r[1], NO)
-		r = o.doubleArg_andboolArg_(1e10, YES)
-		self.assertAlmostEquals(r[0], 1e10)
-		self.assertEquals(r[1], YES)
-		r = o.doubleArg_andboolArg_(1e10, NO)
-		self.assertAlmostEquals(r[0], 1e10)
-		self.assertEquals(r[1], NO)
-
-
 	def testdoubleAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testidAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.idArg_andboolArg_(NSPriorDayDesignations, YES)
-		self.assertEquals(r[0], NSPriorDayDesignations)
-		self.assertEquals(r[1], YES)
-		r = o.idArg_andboolArg_(NSPriorDayDesignations, NO)
-		self.assertEquals(r[0], NSPriorDayDesignations)
-		self.assertEquals(r[1], NO)
-
-
 	def testidAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testcharPtrAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.charPtrArg_andboolArg_("hello", YES)
-		self.assertEquals(r[0], "hello")
-		self.assertEquals(r[1], YES)
-		r = o.charPtrArg_andboolArg_("hello", NO)
-		self.assertEquals(r[0], "hello")
-		self.assertEquals(r[1], NO)
-		r = o.charPtrArg_andboolArg_("world", YES)
-		self.assertEquals(r[0], "world")
-		self.assertEquals(r[1], YES)
-		r = o.charPtrArg_andboolArg_("world", NO)
-		self.assertEquals(r[0], "world")
-		self.assertEquals(r[1], NO)
-		r = o.charPtrArg_andboolArg_("foobar", YES)
-		self.assertEquals(r[0], "foobar")
-		self.assertEquals(r[1], YES)
-		r = o.charPtrArg_andboolArg_("foobar", NO)
-		self.assertEquals(r[0], "foobar")
-		self.assertEquals(r[1], NO)
-
-
 	def testcharPtrAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testNSPointAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.NSPointArg_andboolArg_((1, 2), YES)
-		self.assertEquals(r[0], (1, 2))
-		self.assertEquals(r[1], YES)
-		r = o.NSPointArg_andboolArg_((1, 2), NO)
-		self.assertEquals(r[0], (1, 2))
-		self.assertEquals(r[1], NO)
-		r = o.NSPointArg_andboolArg_((3, 4), YES)
-		self.assertEquals(r[0], (3, 4))
-		self.assertEquals(r[1], YES)
-		r = o.NSPointArg_andboolArg_((3, 4), NO)
-		self.assertEquals(r[0], (3, 4))
-		self.assertEquals(r[1], NO)
-
-
 	def testNSPointAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def testNSRectAndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.NSRectArg_andboolArg_(((1, 2), (3, 4)), YES)
-		self.assertEquals(r[0], ((1, 2), (3, 4)))
-		self.assertEquals(r[1], YES)
-		r = o.NSRectArg_andboolArg_(((1, 2), (3, 4)), NO)
-		self.assertEquals(r[0], ((1, 2), (3, 4)))
-		self.assertEquals(r[1], NO)
-		r = o.NSRectArg_andboolArg_(((7, 8), (9, 10)), YES)
-		self.assertEquals(r[0], ((7, 8), (9, 10)))
-		self.assertEquals(r[1], YES)
-		r = o.NSRectArg_andboolArg_(((7, 8), (9, 10)), NO)
-		self.assertEquals(r[0], ((7, 8), (9, 10)))
-		self.assertEquals(r[1], NO)
-
-
 	def testNSRectAndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def teststructTestStruct1AndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.structTestStruct1Arg_andboolArg_((1, 2, (1, 2, 3, 4, 5)), YES)
-		self.assertEquals(r[0], (1, 2, (1, 2, 3, 4, 5)))
-		self.assertEquals(r[1], YES)
-		r = o.structTestStruct1Arg_andboolArg_((1, 2, (1, 2, 3, 4, 5)), NO)
-		self.assertEquals(r[0], (1, 2, (1, 2, 3, 4, 5)))
-		self.assertEquals(r[1], NO)
-		r = o.structTestStruct1Arg_andboolArg_((9, 8, (-1, -2, -3, -4, -5)), YES)
-		self.assertEquals(r[0], (9, 8, (-1, -2, -3, -4, -5)))
-		self.assertEquals(r[1], YES)
-		r = o.structTestStruct1Arg_andboolArg_((9, 8, (-1, -2, -3, -4, -5)), NO)
-		self.assertEquals(r[0], (9, 8, (-1, -2, -3, -4, -5)))
-		self.assertEquals(r[1], NO)
-
-
 	def teststructTestStruct1AndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def teststructTestStruct2AndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.structTestStruct2Arg_andboolArg_((1, 2, (1, 2, 3, 4, 5)), YES)
-		self.assertEquals(r[0], (1, 2, (1, 2, 3, 4, 5)))
-		self.assertEquals(r[1], YES)
-		r = o.structTestStruct2Arg_andboolArg_((1, 2, (1, 2, 3, 4, 5)), NO)
-		self.assertEquals(r[0], (1, 2, (1, 2, 3, 4, 5)))
-		self.assertEquals(r[1], NO)
-		r = o.structTestStruct2Arg_andboolArg_((9, 8, (-1, -2, -3, -4, -5)), YES)
-		self.assertEquals(r[0], (9, 8, (-1, -2, -3, -4, -5)))
-		self.assertEquals(r[1], YES)
-		r = o.structTestStruct2Arg_andboolArg_((9, 8, (-1, -2, -3, -4, -5)), NO)
-		self.assertEquals(r[0], (9, 8, (-1, -2, -3, -4, -5)))
-		self.assertEquals(r[1], NO)
-
-
 	def teststructTestStruct2AndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 		self.assertEquals(r[1], (2, 4))
 
 
-	def teststructTestStruct3AndboolArg(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.structTestStruct3Arg_andboolArg_((1, 2), YES)
-		self.assertEquals(r[0], (1, 2))
-		self.assertEquals(r[1], YES)
-		r = o.structTestStruct3Arg_andboolArg_((1, 2), NO)
-		self.assertEquals(r[0], (1, 2))
-		self.assertEquals(r[1], NO)
-		r = o.structTestStruct3Arg_andboolArg_((2, 4), YES)
-		self.assertEquals(r[0], (2, 4))
-		self.assertEquals(r[1], YES)
-		r = o.structTestStruct3Arg_andboolArg_((2, 4), NO)
-		self.assertEquals(r[0], (2, 4))
-		self.assertEquals(r[1], NO)
-
-
 	def teststructTestStruct3AndBOOLArg(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 
 	# Pass by reference arguments (in)
 
-	def testboolIn(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		r = o.boolInArg_(YES)
-		self.assertEquals(r, YES)
-		r = o.boolInArg_(NO)
-		self.assertEquals(r, NO)
-
-
 	def testBOOLIn(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 
 	# Pass by reference arguments (out)
 
-	def testboolOut(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		o.reset()
-		r = o.boolOutArg_()
-		self.assertEquals(r, YES)
-		r = o.boolOutArg_()
-		self.assertEquals(r, NO)
-
-
 	def testBOOLOut(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 
 	# Pass by reference arguments (inout)
 
-	def testboolInOut(self):
-		o = PyObjC_TestClass1.alloc().init()
-		self.assert_(o is not None)
-		o.reset()
-		r = o.boolInOutArg_(NO)
-		self.assertEquals(r[0], NO)
-		self.assertEquals(r[1], YES)
-		r = o.boolInOutArg_(YES)
-		self.assertEquals(r[0], YES)
-		self.assertEquals(r[1], NO)
-
-
 	def testBOOLInOut(self):
 		o = PyObjC_TestClass1.alloc().init()
 		self.assert_(o is not None)
 
 
 # Helper arrays
-g_bool_values = (YES, NO)
 g_BOOL_values = (YES, NO)
 g_char_values = (-128, 0, 127)
 g_signedshort_values = (-(1<<14), -42, 0, 42, 1 << 14)
 		self.counter = 0
 
 
-	def boolMethod(self):
-		if self.counter > 2: self.reset()
-		idx = self.counter
-		self.counter += 1
-		return g_bool_values[idx]
-	boolMethod = objc.selector(boolMethod, signature="B@:")
-
-
 	def BOOLMethod(self):
 		if self.counter > 2: self.reset()
 		idx = self.counter
 		self.counter += 1
 		return g_BOOL_values[idx]
-	BOOLMethod = objc.selector(BOOLMethod, signature="c@:")
+	BOOLMethod = objc.selector(BOOLMethod, signature="C@:")
 
 
 	def charMethod(self):
 	structTestStruct3Method = objc.selector(structTestStruct3Method, signature="{_TestStruct3=ci}@:")
 
 
-	def boolArg_(self, arg):
-		return arg # return the same
-	boolArg_ = objc.selector(boolArg_, signature="@@:B")
-
-
 	def BOOLArg_(self, arg):
 		return arg # return the same
-	BOOLArg_ = objc.selector(BOOLArg_, signature="@@:c")
+	BOOLArg_ = objc.selector(BOOLArg_, signature="@@:C")
 
 
 	def charArg_(self, arg):
 	structTestStruct3Arg_ = objc.selector(structTestStruct3Arg_, signature="@@:{_TestStruct3=ci}")
 
 
-	def boolArg_andboolArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andboolArg_ = objc.selector(boolArg_andboolArg_, signature="@@:BB")
-
-
-	def boolArg_andBOOLArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andBOOLArg_ = objc.selector(boolArg_andBOOLArg_, signature="@@:Bc")
-
-
-	def boolArg_andcharArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andcharArg_ = objc.selector(boolArg_andcharArg_, signature="@@:Bc")
-
-
-	def boolArg_andsignedshortArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andsignedshortArg_ = objc.selector(boolArg_andsignedshortArg_, signature="@@:Bs")
-
-
-	def boolArg_andsignedintArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andsignedintArg_ = objc.selector(boolArg_andsignedintArg_, signature="@@:Bi")
-
-
-	def boolArg_andsignedlongArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andsignedlongArg_ = objc.selector(boolArg_andsignedlongArg_, signature="@@:Bl")
-
-
-	def boolArg_andsignedlonglongArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andsignedlonglongArg_ = objc.selector(boolArg_andsignedlonglongArg_, signature="@@:Bq")
-
-
-	def boolArg_andunsignedcharArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andunsignedcharArg_ = objc.selector(boolArg_andunsignedcharArg_, signature="@@:BC")
-
-
-	def boolArg_andunsignedshortArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andunsignedshortArg_ = objc.selector(boolArg_andunsignedshortArg_, signature="@@:BS")
-
-
-	def boolArg_andunsignedintArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andunsignedintArg_ = objc.selector(boolArg_andunsignedintArg_, signature="@@:BI")
-
-
-	def boolArg_andunsignedlongArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andunsignedlongArg_ = objc.selector(boolArg_andunsignedlongArg_, signature="@@:BL")
-
-
-	def boolArg_andunsignedlonglongArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andunsignedlonglongArg_ = objc.selector(boolArg_andunsignedlonglongArg_, signature="@@:BQ")
-
-
-	def boolArg_andfloatArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andfloatArg_ = objc.selector(boolArg_andfloatArg_, signature="@@:Bf")
-
-
-	def boolArg_anddoubleArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_anddoubleArg_ = objc.selector(boolArg_anddoubleArg_, signature="@@:Bd")
-
-
-	def boolArg_andidArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andidArg_ = objc.selector(boolArg_andidArg_, signature="@@:B@")
-
-
-	def boolArg_andcharPtrArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andcharPtrArg_ = objc.selector(boolArg_andcharPtrArg_, signature="@@:B*")
-
-
-	def boolArg_andNSPointArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andNSPointArg_ = objc.selector(boolArg_andNSPointArg_, signature="@@:B{_NSPoint=ff}")
-
-
-	def boolArg_andNSRectArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andNSRectArg_ = objc.selector(boolArg_andNSRectArg_, signature="@@:B{_NSRect={_NSPoint=ff}{_NSSize=ff}}")
-
-
-	def boolArg_andstructTestStruct1Arg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andstructTestStruct1Arg_ = objc.selector(boolArg_andstructTestStruct1Arg_, signature="@@:B{_TestStruct1=ii[5s]}")
-
-
-	def boolArg_andstructTestStruct2Arg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andstructTestStruct2Arg_ = objc.selector(boolArg_andstructTestStruct2Arg_, signature="@@:B{_TestStruct2=id[5s]}")
-
-
-	def boolArg_andstructTestStruct3Arg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	boolArg_andstructTestStruct3Arg_ = objc.selector(boolArg_andstructTestStruct3Arg_, signature="@@:B{_TestStruct3=ci}")
-
-
-	def BOOLArg_andboolArg_(self, arg1, arg2):
-		return [ arg1, arg2 ]
-	BOOLArg_andboolArg_ = objc.selector(BOOLArg_andboolArg_, signature="@@:cB")
-
-
 	def BOOLArg_andBOOLArg_(self, arg1, arg2):
 		return [ arg1, arg2 ]
-	BOOLArg_andBOOLArg_ = objc.selector(BOOLArg_andBOOLArg_, signature="@@:cc")
+	BOOLArg_andBOOLArg_ = objc.selector(BOOLArg_andBOOLArg_, signature="@@:CC")
 
 
 	def BOOLArg_andcharArg_(self, arg1, arg2):
 		return [ arg1, arg2 ]
-	BOOLArg_andcharArg_ = objc.selector(BOOLArg_andcharArg_, signature="@@:cc")
+	BOOLArg_andcharArg_ = objc.selector(BOOLArg_andcharArg_, signature="@@:Cc")
 
 
 	def BOOLArg_andsignedshortArg_(self, arg1, arg2):
 		return [ arg1, arg2 ]
-	BOOLArg_andsignedshortArg_ = objc.selector(BOOLArg_andsignedshortArg_, signature="@@:cs")
+	BOOLArg_andsignedshortArg_ = objc.selector(BOOLArg_andsignedshortArg_, signature="@@:Cs")
 
 
 	def BOOLArg_andsignedintArg_(self, arg1, arg2):
 		return [ arg1, arg2 ]
-	BOOLArg_andsignedintArg_ = objc.selector(BOOLArg_andsignedintArg_, signature="@@:ci")
+	BOOLArg_andsignedintArg_ = objc.selector(BOOLArg_andsignedintArg_, signature="@@:Ci")
 
 
 	def BOOLArg_andsignedlongArg_(self, arg1, arg2):
 		return [ arg1, arg2 ]
-	BOOLArg_andsignedlongArg_ = objc.selector(BOOLArg_andsignedlongArg_, signature="@@:cl")
+	BOOLArg_andsignedlongArg_ = objc.selector(BOOLArg_andsignedlongArg_, signature="@@:Cl")
 
 
 	def BOOLArg_andsignedlonglongArg_(self, arg1, arg2):
 		return [ arg1, arg2 ]
-	BOOLArg_andsignedlonglongArg_ = objc.selector(BOOLArg_andsignedlonglongArg_, signature="@@:cq")
+	BOOLArg_andsignedlonglongArg_ = objc.selector(BOOLArg_andsignedlonglongArg_, signature="@@:Cq")
 
 
 	def BOOLArg_andunsignedcharArg_(self, arg1, arg2):
 		return [ arg1, arg2 ]
-	BOOLArg_andunsignedcharArg_ = objc.selector(BOOLArg_andunsignedcharArg_, signature="@@:cC")
+	BOOLArg_andunsignedcharArg_ = objc.selector(BOOLArg_andunsignedcharArg_, signature="@@:CC")
 
 
 	def BOOLArg_andunsignedshortArg_(self, arg1, arg2):
 		return [ arg1, arg2 ]
-	BOOLArg_andunsignedshortArg_ = objc.selector(BOOLArg_andunsignedshortArg_, signature="@@:cS")
+	BOOLArg_andunsignedshortArg_ = objc.selector(BOOLArg_andunsignedshortArg_, signature="@@:CS")