示例#1
0
 def testParsePadding3And4WithSuffixPattern(self):
     self.assertEqual(parseNumberPattern('###0* /* '),
                      ((None, '', None, '###0', '', '', ' ', '/', ' ', 0),
                       (None, '', None, '###0', '', '', ' ', '/', ' ', 0)))
     self.assertEqual(parseNumberPattern('###0* /* ;###0*_/*_'),
                      ((None, '', None, '###0', '', '', ' ', '/', ' ', 0),
                       (None, '', None, '###0', '', '', '_', '/', '_', 0)))
示例#2
0
 def testParseScientificIntegerPattern(self):
     self.assertEqual(
         parseNumberPattern('###0E#0'),
         ((None, '', None, '###0', '', '#0', None, '', None, 0),
          (None, '', None, '###0', '', '#0', None, '', None, 0)))
     self.assertEqual(
         parseNumberPattern('###0E+#0'),
         ((None, '', None, '###0', '', '+#0', None, '', None, 0),
          (None, '', None, '###0', '', '+#0', None, '', None, 0)))
示例#3
0
 def testParseMultipleCharacterPrefix(self):
     self.assertEqual(
         parseNumberPattern('DM###0'),
         ((None, 'DM', None, '###0', '', '', None, '', None, 0),
          (None, 'DM', None, '###0', '', '', None, '', None, 0)))
     self.assertEqual(
         parseNumberPattern('DM* ###0'),
         ((None, 'DM', ' ', '###0', '', '', None, '', None, 0),
          (None, 'DM', ' ', '###0', '', '', None, '', None, 0)))
示例#4
0
 def testParsePadding1Padding2WithPrefixPattern(self):
     self.assertEqual(parseNumberPattern('* +* ###0'),
                      ((' ', '+', ' ', '###0', '', '', None, '', None, 0),
                       (' ', '+', ' ', '###0', '', '', None, '', None, 0)))
     self.assertEqual(
         parseNumberPattern('* +* ###0.0##'),
         ((' ', '+', ' ', '###0', '0##', '', None, '', None, 0),
          (' ', '+', ' ', '###0', '0##', '', None, '', None, 0)))
     self.assertEqual(
         parseNumberPattern('* +* ###0.0##;*_-*_###0.0##'),
         ((' ', '+', ' ', '###0', '0##', '', None, '', None, 0),
          ('_', '-', '_', '###0', '0##', '', None, '', None, 0)))
示例#5
0
 def testParsePadding3WithoutSufffixPattern(self):
     self.assertEqual(parseNumberPattern('###0* '),
                      ((None, '', None, '###0', '', '', ' ', '', None, 0),
                       (None, '', None, '###0', '', '', ' ', '', None, 0)))
     self.assertEqual(
         parseNumberPattern('###0.0##* '),
         ((None, '', None, '###0', '0##', '', ' ', '', None, 0),
          (None, '', None, '###0', '0##', '', ' ', '', None, 0)))
     self.assertEqual(
         parseNumberPattern('###0.0##* ;###0.0##*_'),
         ((None, '', None, '###0', '0##', '', ' ', '', None, 0),
          (None, '', None, '###0', '0##', '', '_', '', None, 0)))
示例#6
0
 def testParsePadding3WithSufffixPattern(self):
     self.assertEqual(parseNumberPattern('###0* /'),
                      ((None, '', None, '###0', '', '', ' ', '/', None, 0),
                       (None, '', None, '###0', '', '', ' ', '/', None, 0)))
     self.assertEqual(
         parseNumberPattern('###0.0#* /'),
         ((None, '', None, '###0', '0#', '', ' ', '/', None, 0),
          (None, '', None, '###0', '0#', '', ' ', '/', None, 0)))
     self.assertEqual(
         parseNumberPattern('###0.0#* /;###0.0#*_/'),
         ((None, '', None, '###0', '0#', '', ' ', '/', None, 0),
          (None, '', None, '###0', '0#', '', '_', '/', None, 0)))
示例#7
0
 def testParsePadding3InScientificPattern(self):
     self.assertEqual(
         parseNumberPattern('###0E#0* '),
         ((None, '', None, '###0', '', '#0', ' ', '', None, 0),
          (None, '', None, '###0', '', '#0', ' ', '', None, 0)))
     self.assertEqual(
         parseNumberPattern('###0.0##E0* '),
         ((None, '', None, '###0', '0##', '0', ' ', '', None, 0),
          (None, '', None, '###0', '0##', '0', ' ', '', None, 0)))
     self.assertEqual(
         parseNumberPattern('###0.0##E#0* ;###0.0##E0*_'),
         ((None, '', None, '###0', '0##', '#0', ' ', '', None, 0),
          (None, '', None, '###0', '0##', '0', '_', '', None, 0)))
示例#8
0
 def testParseStringEscapedSuffix(self):
     self.assertEqual(
         parseNumberPattern("###0'DEM'"),
         ((None, '', None, '###0', '', '', None, 'DEM', None, 0),
          (None, '', None, '###0', '', '', None, 'DEM', None, 0)))
     self.assertEqual(
         parseNumberPattern("###0D'EM'"),
         ((None, '', None, '###0', '', '', None, 'DEM', None, 0),
          (None, '', None, '###0', '', '', None, 'DEM', None, 0)))
     self.assertEqual(
         parseNumberPattern("###0D'E'M"),
         ((None, '', None, '###0', '', '', None, 'DEM', None, 0),
          (None, '', None, '###0', '', '', None, 'DEM', None, 0)))
示例#9
0
 def testParseStringEscapedPrefix(self):
     self.assertEqual(
         parseNumberPattern("'DEM'###0"),
         ((None, 'DEM', None, '###0', '', '', None, '', None, 0),
          (None, 'DEM', None, '###0', '', '', None, '', None, 0)))
     self.assertEqual(
         parseNumberPattern("D'EM'###0"),
         ((None, 'DEM', None, '###0', '', '', None, '', None, 0),
          (None, 'DEM', None, '###0', '', '', None, '', None, 0)))
     self.assertEqual(
         parseNumberPattern("D'E'M###0"),
         ((None, 'DEM', None, '###0', '', '', None, '', None, 0),
          (None, 'DEM', None, '###0', '', '', None, '', None, 0)))
示例#10
0
    def runTest(self):
        # Loading Locale object
        locale = LocaleFactory(self.__path)()

        # Making sure all number format patterns parse
        for category in (u'decimal', u'scientific', u'percent', u'currency'):
            for length in getattr(locale.numbers,
                                  category + 'Formats').values():
                for format in length.formats.values():
                    self.assert_(
                        parseNumberPattern(format.pattern) is not None)

        # Making sure all datetime patterns parse
        for calendar in locale.dates.calendars.values():
            for category in ('date', 'time', 'dateTime'):
                for length in getattr(calendar, category + 'Formats').values():
                    for format in length.formats.values():
                        self.assert_(
                            parseDateTimePattern(format.pattern) is not None)
示例#11
0
 def testParseScientificPosNegFractionPattern(self):
     self.assertEqual(
         parseNumberPattern('+###0.0##E#0;-###0.0##E0'),
         ((None, '+', None, '###0', '0##', '#0', None, '', None, 0),
          (None, '-', None, '###0', '0##', '0', None, '', None, 0)))
示例#12
0
 def testParsePrefixedIntegerPattern(self):
     self.assertEqual(
         parseNumberPattern('+###0'),
         ((None, '+', None, '###0', '', '', None, '', None, 0),
          (None, '+', None, '###0', '', '', None, '', None, 0)))
示例#13
0
 def testParsePosNegAlternativeIntegerPattern(self):
     self.assertEqual(parseNumberPattern('###0;#0'),
                      ((None, '', None, '###0', '', '', None, '', None, 0),
                       (None, '', None, '#0', '', '', None, '', None, 0)))
示例#14
0
 def testParseScientificPosNegIntegerPattern(self):
     self.assertEqual(
         parseNumberPattern('+###0E0;-###0E#0'),
         ((None, '+', None, '###0', '', '0', None, '', None, 0),
          (None, '-', None, '###0', '', '#0', None, '', None, 0)))
示例#15
0
 def testParseThousandSeparatorIntegerPattern(self):
     self.assertEqual(parseNumberPattern('#,##0'),
                      ((None, '', None, '###0', '', '', None, '', None, 1),
                       (None, '', None, '###0', '', '', None, '', None, 1)))
示例#16
0
 def testParseSimpleDecimalPattern(self):
     self.assertEqual(
         parseNumberPattern('###0.00#'),
         ((None, '', None, '###0', '00#', '', None, '', None, 0),
          (None, '', None, '###0', '00#', '', None, '', None, 0)))
示例#17
0
 def testParseScientificDecimalPattern(self):
     self.assertEqual(
         parseNumberPattern('###0.00#E#0'),
         ((None, '', None, '###0', '00#', '#0', None, '', None, 0),
          (None, '', None, '###0', '00#', '#0', None, '', None, 0)))
示例#18
0
 def testParsePosNegAlternativeFractionPattern(self):
     self.assertEqual(
         parseNumberPattern('###0.00#;#0.0#'),
         ((None, '', None, '###0', '00#', '', None, '', None, 0),
          (None, '', None, '#0', '0#', '', None, '', None, 0)))
示例#19
0
 def testParseThousandSeparatorFractionPattern(self):
     self.assertEqual(
         parseNumberPattern('#,##0.0#'),
         ((None, '', None, '###0', '0#', '', None, '', None, 1),
          (None, '', None, '###0', '0#', '', None, '', None, 1)))
示例#20
0
 def testParseSimpleIntegerPattern(self):
     self.assertEqual(parseNumberPattern('###0'),
                      ((None, '', None, '###0', '', '', None, '', None, 0),
                       (None, '', None, '###0', '', '', None, '', None, 0)))