Example #1
0
 def test_parse(self):
     self.assertEqual(
         {
             'continent_code': 'NA',
             'country_code': None,
             'province_code': None,
         },
         GeoCodes.parse('NA'),
     )
     self.assertEqual(
         {
             'continent_code': 'NA',
             'country_code': 'US',
             'province_code': None,
         },
         GeoCodes.parse('NA-US'),
     )
     self.assertEqual(
         {
             'continent_code': 'NA',
             'country_code': 'US',
             'province_code': 'CA',
         },
         GeoCodes.parse('NA-US-CA'),
     )
Example #2
0
 def test_province_to_code(self):
     self.assertEqual('NA-US-OR', GeoCodes.province_to_code('OR'))
     self.assertEqual('NA-US-KY', GeoCodes.province_to_code('KY'))
     self.assertEqual('NA-CA-AB', GeoCodes.province_to_code('AB'))
     self.assertEqual('NA-CA-BC', GeoCodes.province_to_code('BC'))
     self.assertFalse(GeoCodes.province_to_code('XX'))
Example #3
0
    def test_validate(self):
        prefix = 'xyz '

        # All valid
        self.assertEqual([], GeoCodes.validate('NA', prefix))
        self.assertEqual([], GeoCodes.validate('NA-US', prefix))
        self.assertEqual([], GeoCodes.validate('NA-US-OR', prefix))

        # Just plain bad
        self.assertEqual(
            ['xyz invalid geo code "XX-YY-ZZ-AA"'],
            GeoCodes.validate('XX-YY-ZZ-AA', prefix),
        )
        self.assertEqual(
            ['xyz unknown continent code "X-Y-Z"'],
            GeoCodes.validate('X-Y-Z', prefix),
        )
        self.assertEqual(
            ['xyz unknown continent code "XXX-Y-Z"'],
            GeoCodes.validate('XXX-Y-Z', prefix),
        )

        # Bad continent
        self.assertEqual(['xyz unknown continent code "XX"'],
                         GeoCodes.validate('XX', prefix))
        # Bad continent good country
        self.assertEqual(
            ['xyz unknown continent code "XX-US"'],
            GeoCodes.validate('XX-US', prefix),
        )
        # Bad continent good country and province
        self.assertEqual(
            ['xyz unknown continent code "XX-US-OR"'],
            GeoCodes.validate('XX-US-OR', prefix),
        )

        # Bad country, good continent
        self.assertEqual(
            ['xyz unknown country code "NA-XX"'],
            GeoCodes.validate('NA-XX', prefix),
        )
        # Bad country, good continent and state
        self.assertEqual(
            ['xyz unknown country code "NA-XX-OR"'],
            GeoCodes.validate('NA-XX-OR', prefix),
        )
        # Good country, good continent, but bad match
        self.assertEqual(
            ['xyz unknown country code "NA-GB"'],
            GeoCodes.validate('NA-GB', prefix),
        )

        # Bad province code, good continent and country
        self.assertEqual(
            ['xyz unknown province code "NA-US-XX"'],
            GeoCodes.validate('NA-US-XX', prefix),
        )
Example #4
0
 def test_country_to_code(self):
     self.assertEqual('NA-US', GeoCodes.country_to_code('US'))
     self.assertEqual('EU-GB', GeoCodes.country_to_code('GB'))
     self.assertFalse(GeoCodes.country_to_code('XX'))