1from PyObjCTools.TestSupport import * 2 3from Foundation import * 4 5 6class TestNSDecimalNumber (TestCase): 7 def testConstants(self): 8 self.failUnless(isinstance(NSDecimalNumberExactnessException, unicode)) 9 self.failUnless(isinstance(NSDecimalNumberOverflowException, unicode)) 10 self.failUnless(isinstance(NSDecimalNumberUnderflowException, unicode)) 11 self.failUnless(isinstance(NSDecimalNumberDivideByZeroException, unicode)) 12 13 def testNSDecimal(self): 14 dec = NSDecimal('55.0') 15 16 v = NSDecimalNumber.alloc().initWithDecimal_(dec) 17 self.failUnlessIsInstance(v, NSDecimalNumber) 18 self.failUnlessEqual(str(v), '55') 19 20 v = NSDecimalNumber.decimalNumberWithDecimal_(dec) 21 self.failUnlessIsInstance(v, NSDecimalNumber) 22 self.failUnlessEqual(str(v), '55') 23 24 o = v.decimalValue() 25 self.failUnlessIsInstance(o, NSDecimal) 26 27 def testNSNumberAsNSDecimal(self): 28 v = NSNumber.numberWithFloat_(33.5) 29 o = v.decimalValue() 30 self.failUnlessIsInstance(o, NSDecimal) 31 32 def testNSScannerWithDecimal(self): 33 v = NSScanner.alloc().initWithString_("55.23") 34 35 dec = NSDecimal() 36 o = v.scanDecimal_(dec) 37 self.failUnless(o is True) 38 39 self.failUnlessEqual(str(dec), '55.23') 40 41if __name__ == "__main__": 42 main() 43