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.failUnlessIsInstance(NSRefreshedObjectsKey, unicode)
9        self.failUnlessIsInstance(NSInvalidatedObjectsKey, unicode)
10        self.failUnlessIsInstance(NSInvalidatedAllObjectsKey, unicode)
11
12    def testConstants(self):
13        self.failUnlessIsInstance(NSManagedObjectContextDidSaveNotification, unicode)
14        self.failUnlessIsInstance(NSManagedObjectContextObjectsDidChangeNotification, unicode)
15        self.failUnlessIsInstance(NSInsertedObjectsKey, unicode)
16        self.failUnlessIsInstance(NSUpdatedObjectsKey, unicode)
17        self.failUnlessIsInstance(NSDeletedObjectsKey, unicode)
18
19
20        self.failUnlessIsInstance(NSErrorMergePolicy, NSObject)
21        self.failUnlessIsInstance(NSMergeByPropertyStoreTrumpMergePolicy, NSObject)
22        self.failUnlessIsInstance(NSMergeByPropertyObjectTrumpMergePolicy, NSObject)
23        self.failUnlessIsInstance(NSOverwriteMergePolicy, NSObject)
24        self.failUnlessIsInstance(NSRollbackMergePolicy, NSObject)
25
26    def testMethods(self):
27        self.failUnlessResultIsBOOL(NSManagedObjectContext.hasChanges)
28        self.failUnlessArgIsOut(NSManagedObjectContext.executeFetchRequest_error_, 1)
29        self.failUnlessArgIsBOOL(NSManagedObjectContext.refreshObject_mergeChanges_, 1)
30        self.failUnlessResultIsBOOL(NSManagedObjectContext.save_)
31        self.failUnlessArgIsOut(NSManagedObjectContext.save_, 0)
32        self.failUnlessResultIsBOOL(NSManagedObjectContext.tryLock)
33        self.failUnlessResultIsBOOL(NSManagedObjectContext.propagatesDeletesAtEndOfEvent)
34        self.failUnlessArgIsBOOL(NSManagedObjectContext.setPropagatesDeletesAtEndOfEvent_, 0)
35        self.failUnlessResultIsBOOL(NSManagedObjectContext.retainsRegisteredObjects)
36        self.failUnlessArgIsBOOL(NSManagedObjectContext.setRetainsRegisteredObjects_, 0)
37
38
39    @min_os_level('10.5')
40    def testMethods10_5(self):
41        self.failUnlessArgIsOut(NSManagedObjectContext.countForFetchRequest_error_, 1)
42        self.failUnlessResultIsBOOL(NSManagedObjectContext.obtainPermanentIDsForObjects_error_)
43        self.failUnlessArgIsOut(NSManagedObjectContext.obtainPermanentIDsForObjects_error_, 1)
44
45
46
47if __name__ == "__main__":
48    main()
49