1
2from PyObjCTools.TestSupport import *
3from CoreData import *
4
5class TestNSManagedObjectContext (TestCase):
6    @min_os_level("10.5")
7    def testConstants10_5(self):
8        self.assertIsInstance(NSRefreshedObjectsKey, unicode)
9        self.assertIsInstance(NSInvalidatedObjectsKey, unicode)
10        self.assertIsInstance(NSInvalidatedAllObjectsKey, unicode)
11        self.assertIsInstance(NSManagedObjectContextWillSaveNotification, unicode)
12
13    def testConstants(self):
14        self.assertIsInstance(NSManagedObjectContextDidSaveNotification, unicode)
15        self.assertIsInstance(NSManagedObjectContextObjectsDidChangeNotification, unicode)
16        self.assertIsInstance(NSInsertedObjectsKey, unicode)
17        self.assertIsInstance(NSUpdatedObjectsKey, unicode)
18        self.assertIsInstance(NSDeletedObjectsKey, unicode)
19
20
21        self.assertIsInstance(NSErrorMergePolicy, NSObject)
22        self.assertIsInstance(NSMergeByPropertyStoreTrumpMergePolicy, NSObject)
23        self.assertIsInstance(NSMergeByPropertyObjectTrumpMergePolicy, NSObject)
24        self.assertIsInstance(NSOverwriteMergePolicy, NSObject)
25        self.assertIsInstance(NSRollbackMergePolicy, NSObject)
26
27    def testMethods(self):
28        self.assertResultIsBOOL(NSManagedObjectContext.hasChanges)
29        self.assertArgIsOut(NSManagedObjectContext.executeFetchRequest_error_, 1)
30        self.assertArgIsBOOL(NSManagedObjectContext.refreshObject_mergeChanges_, 1)
31        self.assertResultIsBOOL(NSManagedObjectContext.save_)
32        self.assertArgIsOut(NSManagedObjectContext.save_, 0)
33        self.assertResultIsBOOL(NSManagedObjectContext.tryLock)
34        self.assertResultIsBOOL(NSManagedObjectContext.propagatesDeletesAtEndOfEvent)
35        self.assertArgIsBOOL(NSManagedObjectContext.setPropagatesDeletesAtEndOfEvent_, 0)
36        self.assertResultIsBOOL(NSManagedObjectContext.retainsRegisteredObjects)
37        self.assertArgIsBOOL(NSManagedObjectContext.setRetainsRegisteredObjects_, 0)
38
39
40    @min_os_level('10.5')
41    def testMethods10_5(self):
42        self.assertArgIsOut(NSManagedObjectContext.countForFetchRequest_error_, 1)
43        self.assertResultIsBOOL(NSManagedObjectContext.obtainPermanentIDsForObjects_error_)
44        self.assertArgIsOut(NSManagedObjectContext.obtainPermanentIDsForObjects_error_, 1)
45
46    @min_os_level('10.6')
47    def testMethods10_6(self):
48        self.assertArgIsOut(NSManagedObjectContext.existingObjectWithID_error_, 1)
49
50
51
52if __name__ == "__main__":
53    main()
54