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