1from Foundation import * 2from PyObjCTools.TestSupport import * 3 4try: 5 unicode 6except NameError: 7 unicode = str 8 9class TestNSOperation (TestCase): 10 def testConstants(self): 11 self.assertEqual(NSOperationQueuePriorityVeryLow, -8) 12 self.assertEqual(NSOperationQueuePriorityLow, -4) 13 self.assertEqual(NSOperationQueuePriorityNormal, 0) 14 self.assertEqual(NSOperationQueuePriorityHigh, 4) 15 self.assertEqual(NSOperationQueuePriorityVeryHigh, 8) 16 17 self.assertIsInstance(NSInvocationOperationVoidResultException, unicode) 18 self.assertIsInstance(NSInvocationOperationCancelledException, unicode) 19 self.assertEqual(NSOperationQueueDefaultMaxConcurrentOperationCount, -1) 20 21 def testMethods(self): 22 self.assertResultIsBOOL(NSOperation.isCancelled) 23 self.assertResultIsBOOL(NSOperation.isExecuting) 24 self.assertResultIsBOOL(NSOperation.isFinished) 25 self.assertResultIsBOOL(NSOperation.isConcurrent) 26 self.assertResultIsBOOL(NSOperation.isReady) 27 28 self.assertResultIsBOOL(NSOperationQueue.isSuspended) 29 self.assertArgIsBOOL(NSOperationQueue.setSuspended_, 0) 30 31 32 @min_os_level('10.6') 33 def testMethods10_6(self): 34 self.assertResultIsBlock(NSOperation.completionBlock, b'v') 35 self.assertArgIsBlock(NSOperation.setCompletionBlock_, 0, b'v') 36 37 self.assertArgIsBlock(NSBlockOperation.blockOperationWithBlock_, 0, b'v') 38 self.assertArgIsBlock(NSBlockOperation.addExecutionBlock_, 0, b'v') 39 40 self.assertArgIsBOOL(NSOperationQueue.addOperations_waitUntilFinished_, 1) 41 self.assertArgIsBlock(NSOperationQueue.addOperationWithBlock_, 0, b'v') 42 43if __name__ == "__main__": 44 main() 45