1from PyObjCTools.TestSupport import *
2
3from Foundation import *
4
5class TestNSNumberFormatter (TestCase):
6    def testConstants(self):
7        self.assertEquals(NSNumberFormatterNoStyle, kCFNumberFormatterNoStyle)
8        self.assertEquals(NSNumberFormatterDecimalStyle, kCFNumberFormatterDecimalStyle)
9        self.assertEquals(NSNumberFormatterCurrencyStyle, kCFNumberFormatterCurrencyStyle)
10        self.assertEquals(NSNumberFormatterPercentStyle, kCFNumberFormatterPercentStyle)
11        self.assertEquals(NSNumberFormatterScientificStyle, kCFNumberFormatterScientificStyle)
12        self.assertEquals(NSNumberFormatterSpellOutStyle, kCFNumberFormatterSpellOutStyle)
13
14        self.assertEquals(NSNumberFormatterBehaviorDefault, 0)
15        self.assertEquals(NSNumberFormatterBehavior10_0, 1000)
16        self.assertEquals(NSNumberFormatterBehavior10_4, 1040)
17
18        self.assertEquals(NSNumberFormatterPadBeforePrefix, kCFNumberFormatterPadBeforePrefix)
19        self.assertEquals(NSNumberFormatterPadAfterPrefix, kCFNumberFormatterPadAfterPrefix)
20        self.assertEquals(NSNumberFormatterPadBeforeSuffix, kCFNumberFormatterPadBeforeSuffix)
21        self.assertEquals(NSNumberFormatterPadAfterSuffix, kCFNumberFormatterPadAfterSuffix)
22
23        self.assertEquals(NSNumberFormatterRoundCeiling, kCFNumberFormatterRoundCeiling)
24        self.assertEquals(NSNumberFormatterRoundFloor, kCFNumberFormatterRoundFloor)
25        self.assertEquals(NSNumberFormatterRoundDown, kCFNumberFormatterRoundDown)
26        self.assertEquals(NSNumberFormatterRoundUp, kCFNumberFormatterRoundUp)
27        self.assertEquals(NSNumberFormatterRoundHalfEven, kCFNumberFormatterRoundHalfEven)
28        self.assertEquals(NSNumberFormatterRoundHalfDown, kCFNumberFormatterRoundHalfDown)
29        self.assertEquals(NSNumberFormatterRoundHalfUp, kCFNumberFormatterRoundHalfUp)
30
31
32    def testOutput(self):
33        self.failUnlessResultIsBOOL(NSNumberFormatter.getObjectValue_forString_range_error_)
34        self.failUnlessArgIsOut(NSNumberFormatter.getObjectValue_forString_range_error_, 0)
35        self.failUnlessArgIsInOut(NSNumberFormatter.getObjectValue_forString_range_error_, 2)
36        self.failUnlessArgIsOut(NSNumberFormatter.getObjectValue_forString_range_error_, 3)
37
38        self.failUnlessResultIsBOOL(NSNumberFormatter.generatesDecimalNumbers)
39        self.failUnlessArgIsBOOL(NSNumberFormatter.setGeneratesDecimalNumbers_, 0)
40        self.failUnlessResultIsBOOL(NSNumberFormatter.allowsFloats)
41        self.failUnlessArgIsBOOL(NSNumberFormatter.setAllowsFloats_, 0)
42        self.failUnlessResultIsBOOL(NSNumberFormatter.alwaysShowsDecimalSeparator)
43        self.failUnlessArgIsBOOL(NSNumberFormatter.setAlwaysShowsDecimalSeparator_, 0)
44        self.failUnlessResultIsBOOL(NSNumberFormatter.usesGroupingSeparator)
45        self.failUnlessArgIsBOOL(NSNumberFormatter.setUsesGroupingSeparator_, 0)
46        self.failUnlessResultIsBOOL(NSNumberFormatter.isLenient)
47        self.failUnlessArgIsBOOL(NSNumberFormatter.setLenient_, 0)
48        self.failUnlessResultIsBOOL(NSNumberFormatter.usesSignificantDigits)
49        self.failUnlessArgIsBOOL(NSNumberFormatter.setUsesSignificantDigits_, 0)
50        self.failUnlessResultIsBOOL(NSNumberFormatter.isPartialStringValidationEnabled)
51        self.failUnlessArgIsBOOL(NSNumberFormatter.setPartialStringValidationEnabled_, 0)
52        self.failUnlessResultIsBOOL(NSNumberFormatter.hasThousandSeparators)
53        self.failUnlessArgIsBOOL(NSNumberFormatter.setHasThousandSeparators_, 0)
54        self.failUnlessResultIsBOOL(NSNumberFormatter.localizesFormat)
55        self.failUnlessArgIsBOOL(NSNumberFormatter.setLocalizesFormat_, 0)
56
57
58
59if __name__ == "__main__":
60    main()
61