1from PyObjCTools.TestSupport import * 2import objc 3 4from Foundation import * 5 6class TestNSSetInteraction(TestCase): 7 def __testRepeatedAllocInit( self ): 8 for i in range(1,1000): 9 a = NSSet.alloc().init() 10 11 def __testContains( self ): 12 x = NSSet.setWithArray_( ["foo", "bar", "baz"] ) 13 14 self.assert_( "foo" in x ) 15 self.assert_( "notfoo" not in x ) 16 17 def __testIteration( self ): 18 x = NSSet.setWithArray_( ["foo", "bar", "baz"] ) 19 20 for i in x: 21 self.assert_( i in x ) 22 self.assert_( x.containsObject_( i ) ) 23 24 def test_varargsConstruction(self): 25 w = NSSet.setWithObjects_(0,1,2,3,None) 26 x = NSSet.alloc().initWithObjects_(0,1,2,3,None) 27 y = NSSet.setWithObjects_count_(range(10), 4) 28 z = NSSet.alloc().initWithObjects_count_(range(10), 4) 29 #a = NSSet.alloc().initWithObjects_count_(range(4), None) 30 31 self.assert_(len(w) == 4) 32 self.assert_(len(x) == 4) 33 self.assert_(len(y) == 4) 34 self.assert_(len(z) == 4) 35 #self.assert_(len(a) == 4) 36 37 self.assert_(0 in w) 38 self.assert_(1 in x) 39 self.assert_(2 in y) 40 self.assert_(3 in z) 41 #self.assert_(3 in a) 42 43 def test_varargsConstruction2(self): 44 w = NSMutableSet.setWithObjects_(0,1,2,3,None) 45 x = NSMutableSet.alloc().initWithObjects_(0,1,2,3,None) 46 y = NSMutableSet.setWithObjects_count_(range(10), 4) 47 z = NSMutableSet.alloc().initWithObjects_count_(range(10), 4) 48 49 self.assert_(len(w) == 4) 50 self.assert_(len(x) == 4) 51 self.assert_(len(y) == 4) 52 self.assert_(len(z) == 4) 53 54 self.assert_(0 in w) 55 self.assert_(1 in x) 56 self.assert_(2 in y) 57 self.assert_(3 in z) 58 59class TestVariadic (TestCase): 60 def testSetWithObjects(self): 61 o = NSSet.setWithObjects_() 62 self.assertEquals(len(o), 0) 63 self.assert_(isinstance(o, NSSet)) 64 65 o = NSSet.setWithObjects_(1,2,3) 66 self.assertEquals(len(o), 3) 67 self.assert_(isinstance(o, NSSet)) 68 self.assert_(1 in o) 69 self.assert_(2 in o) 70 self.assert_(3 in o) 71 72 o = NSMutableSet.setWithObjects_() 73 self.assertEquals(len(o), 0) 74 self.assert_(isinstance(o, NSMutableSet)) 75 76 o = NSMutableSet.setWithObjects_(1,2,3) 77 self.assertEquals(len(o), 3) 78 self.assert_(isinstance(o, NSMutableSet)) 79 self.assert_(1 in o) 80 self.assert_(2 in o) 81 self.assert_(3 in o) 82 83 def testInitWithObjects(self): 84 o = NSSet.alloc().initWithObjects_() 85 self.assertEquals(len(o), 0) 86 self.assert_(isinstance(o, NSSet)) 87 88 o = NSSet.alloc().initWithObjects_(1,2,3) 89 self.assertEquals(len(o), 3) 90 self.assert_(isinstance(o, NSSet)) 91 self.assert_(1 in o) 92 self.assert_(2 in o) 93 self.assert_(3 in o) 94 95 o = NSMutableSet.alloc().initWithObjects_() 96 self.assertEquals(len(o), 0) 97 self.assert_(isinstance(o, NSMutableSet)) 98 99 o = NSMutableSet.alloc().initWithObjects_(1,2,3) 100 self.assertEquals(len(o), 3) 101 self.assert_(isinstance(o, NSMutableSet)) 102 self.assert_(1 in o) 103 self.assert_(2 in o) 104 self.assert_(3 in o) 105 106 def testSetWithObjectsCount(self): 107 o = NSSet.setWithObjects_count_([1,2,3], 3) 108 self.assertEquals(len(o), 3) 109 self.assert_(isinstance(o, NSSet)) 110 self.assert_(1 in o) 111 self.assert_(2 in o) 112 self.assert_(3 in o) 113 self.assert_(4 not in o) 114 115 o = NSSet.setWithObjects_count_([1,2,3], 0) 116 self.assertEquals(len(o), 0) 117 self.assert_(isinstance(o, NSSet)) 118 119 o = NSMutableSet.setWithObjects_count_([1,2,3], 3) 120 self.assertEquals(len(o), 3) 121 self.assert_(isinstance(o, NSMutableSet)) 122 self.assert_(1 in o) 123 self.assert_(2 in o) 124 self.assert_(3 in o) 125 126 o = NSMutableSet.setWithObjects_count_([1,2,3], 0) 127 self.assertEquals(len(o), 0) 128 self.assert_(isinstance(o, NSMutableSet)) 129 130 def testInitWithObjectsCount(self): 131 o = NSSet.alloc().initWithObjects_count_([1,2,3], 3) 132 self.assertEquals(len(o), 3) 133 self.assert_(isinstance(o, NSSet)) 134 self.assert_(1 in o) 135 self.assert_(2 in o) 136 self.assert_(3 in o) 137 self.assert_(4 not in o) 138 139 o = NSSet.alloc().initWithObjects_count_([1,2,3], 0) 140 self.assertEquals(len(o), 0) 141 self.assert_(isinstance(o, NSSet)) 142 143 o = NSMutableSet.alloc().initWithObjects_count_([1,2,3], 3) 144 self.assertEquals(len(o), 3) 145 self.assert_(isinstance(o, NSMutableSet)) 146 self.assert_(1 in o) 147 self.assert_(2 in o) 148 self.assert_(3 in o) 149 150 o = NSMutableSet.alloc().initWithObjects_count_([1,2,3], 0) 151 self.assertEquals(len(o), 0) 152 self.assert_(isinstance(o, NSMutableSet)) 153 154 def testMethods(self): 155 self.failUnlessResultIsBOOL(NSSet.containsObject_) 156 self.failUnlessResultIsBOOL(NSSet.intersectsSet_) 157 self.failUnlessResultIsBOOL(NSSet.isEqualToSet_) 158 self.failUnlessResultIsBOOL(NSSet.isSubsetOfSet_) 159 160 self.failUnlessArgIsIn(NSSet.setWithObjects_count_, 0) 161 self.failUnlessArgSizeInArg(NSSet.setWithObjects_count_, 0, 1) 162 self.failUnlessArgIsIn(NSSet.initWithObjects_count_, 0) 163 self.failUnlessArgSizeInArg(NSSet.initWithObjects_count_, 0, 1) 164 165 self.failUnlessArgIsBOOL(NSSet.initWithSet_copyItems_, 1) 166 167if __name__ == '__main__': 168 main() 169