1 2from PyObjCTools.TestSupport import * 3from AppKit import * 4 5class TestNSRuleEditorHelper (NSObject): 6 def ruleEditor_numberOfChildrenForCriterion_withRowType_(self, ed, cr, rt): return 1 7 def ruleEditor_child_forCriterion_withRowType_(self, ed, ch, cr, rt): return 1 8 def ruleEditor_displayValueForCriterion_inRow_(self, ed, cr, rw): return 1 9 def ruleEditor_predicatePartsForCriterion_withDisplayValue_inRow_(self, ed, cr, dv, rw): return 1 10 11class TestNSRuleEditor (TestCase): 12 def testConstants(self): 13 self.failUnlessEqual(NSRuleEditorNestingModeSingle, 0) 14 self.failUnlessEqual(NSRuleEditorNestingModeList, 1) 15 self.failUnlessEqual(NSRuleEditorNestingModeCompound, 2) 16 self.failUnlessEqual(NSRuleEditorNestingModeSimple, 3) 17 18 self.failUnlessEqual(NSRuleEditorRowTypeSimple, 0) 19 self.failUnlessEqual(NSRuleEditorRowTypeCompound, 1) 20 21 self.failUnlessIsInstance(NSRuleEditorPredicateLeftExpression, unicode) 22 self.failUnlessIsInstance(NSRuleEditorPredicateRightExpression, unicode) 23 self.failUnlessIsInstance(NSRuleEditorPredicateComparisonModifier, unicode) 24 self.failUnlessIsInstance(NSRuleEditorPredicateOptions, unicode) 25 self.failUnlessIsInstance(NSRuleEditorPredicateOperatorType, unicode) 26 self.failUnlessIsInstance(NSRuleEditorPredicateCustomSelector, unicode) 27 28 self.failUnlessIsInstance(NSRuleEditorPredicateCompoundType, unicode) 29 self.failUnlessIsInstance(NSRuleEditorRowsDidChangeNotification, unicode) 30 31 def testMethods(self): 32 self.failUnlessResultIsBOOL(NSRuleEditor.isEditable) 33 self.failUnlessArgIsBOOL(NSRuleEditor.setEditable_, 0) 34 self.failUnlessResultIsBOOL(NSRuleEditor.canRemoveAllRows) 35 self.failUnlessArgIsBOOL(NSRuleEditor.setCanRemoveAllRows_, 0) 36 self.failUnlessArgIsBOOL(NSRuleEditor.insertRowAtIndex_withType_asSubrowOfRow_animate_, 3) 37 self.failUnlessArgIsBOOL(NSRuleEditor.removeRowsAtIndexes_includeSubrows_, 1) 38 self.failUnlessArgIsBOOL(NSRuleEditor.selectRowIndexes_byExtendingSelection_, 1) 39 40 def testProtocols(self): 41 self.failUnlessResultHasType(TestNSRuleEditorHelper.ruleEditor_numberOfChildrenForCriterion_withRowType_, objc._C_NSInteger) 42 self.failUnlessArgHasType(TestNSRuleEditorHelper.ruleEditor_numberOfChildrenForCriterion_withRowType_, 2, objc._C_NSUInteger) 43 self.failUnlessArgHasType(TestNSRuleEditorHelper.ruleEditor_child_forCriterion_withRowType_, 1, objc._C_NSInteger) 44 self.failUnlessArgHasType(TestNSRuleEditorHelper.ruleEditor_child_forCriterion_withRowType_, 3, objc._C_NSUInteger) 45 self.failUnlessArgHasType(TestNSRuleEditorHelper.ruleEditor_displayValueForCriterion_inRow_, 2, objc._C_NSInteger) 46 self.failUnlessArgHasType(TestNSRuleEditorHelper.ruleEditor_predicatePartsForCriterion_withDisplayValue_inRow_, 3, objc._C_NSInteger) 47 48 49if __name__ == "__main__": 50 main() 51