예제 #1
0
파일: test_address.py 프로젝트: romaia/stoq
 def testGetDetailsString(self):
     person = self.create_person()
     city = u'Stoqlandia'
     state = u'SP'
     country = u'Brazil'
     postal_code = u'12345-678'
     location = CityLocation(city=city, state=state, country=country,
                             store=self.store)
     address = Address(person=person, city_location=location,
                       postal_code=postal_code, store=self.store)
     string = address.get_details_string()
     self.assertEquals(string, u'%s - %s - %s' % (postal_code,
                                                  city, state))
     location.city = u''
     string = address.get_details_string()
     self.assertEquals(string, u'%s' % postal_code)
     location.state = u''
     string = address.get_details_string()
     self.assertEquals(string, u'%s' % postal_code)
     address.postal_code = u''
     string = address.get_details_string()
     self.assertEquals(string, u'')
     location.city = city
     location.state = state
     string = address.get_details_string()
     self.assertEquals(string, u'%s - %s' % (city, state))
예제 #2
0
 def testGetDetailsString(self):
     person = self.create_person()
     city = u'Stoqlandia'
     state = u'SP'
     country = u'Brazil'
     postal_code = u'12345-678'
     location = CityLocation(city=city,
                             state=state,
                             country=country,
                             store=self.store)
     address = Address(person=person,
                       city_location=location,
                       postal_code=postal_code,
                       store=self.store)
     string = address.get_details_string()
     self.assertEquals(string, u'%s - %s - %s' % (postal_code, city, state))
     location.city = u''
     string = address.get_details_string()
     self.assertEquals(string, u'%s' % postal_code)
     location.state = u''
     string = address.get_details_string()
     self.assertEquals(string, u'%s' % postal_code)
     address.postal_code = u''
     string = address.get_details_string()
     self.assertEquals(string, u'')
     location.city = city
     location.state = state
     string = address.get_details_string()
     self.assertEquals(string, u'%s - %s' % (city, state))
예제 #3
0
    def test_get_or_create(self):
        loc = CityLocation.get_or_create(self.store, u'City',
                                         u'State', u'Country')
        self.failUnless(loc)
        self.assertEqual(loc.city, u'City')
        self.assertEqual(loc.state, u'State')
        self.assertEqual(loc.country, u'Country')

        loc2 = CityLocation.get_or_create(self.store, u'city',
                                          u'state', u'country')
        self.failUnless(loc2)
        self.assertEqual(loc2.city, u'City')
        self.assertEqual(loc2.state, u'State')
        self.assertEqual(loc2.country, u'Country')
        self.assertEqual(loc2, loc)

        location = CityLocation.get_or_create(self.store, u'São Carlos',
                                              u'SP', u'Brazil')
        for city, state, country in [
                (u'sao carlos', u'SP', u'Brazil'),
                (u'Sao carlos', u'SP', u'Brazil'),
                (u'São carlos', u'SP', u'Brazil'),
                (u'sao Carlos', u'SP', u'Brazil'),
                (u'sao Carlos', u'sp', u'Brazil'),
                (u'sao Carlos', u'sp', u'brazil'),
                (u'sao Carlos', u'Sp', u'brazil')]:
            self.assertEqual(CityLocation.get_or_create(self.store, city,
                                                        state, country),
                             location)
        loc2 = CityLocation(store=self.store)
        loc2.city = u'Sao Carlos'
        loc2.state = u'SP'
        loc2.country = u'Brazil'
        loc2.city_code = 00000
        location = CityLocation.get_or_create(self.store, u'São Carlos',
                                              u'SP', u'Brazil')
        self.assertEquals(location.city_code, 3548906)
        loc3 = CityLocation(store=self.store)
        loc3.city = u'City ABC'
        loc3.state = u'SP'
        loc3.country = u'Brazil'
        loc3.city_code = None
        loc4 = CityLocation(store=self.store)
        loc4.city = u'City ABĆ'
        loc4.state = u'SP'
        loc4.country = u'Brazil'
        loc4.city_code = None
        location = CityLocation.get_or_create(self.store, u'City ABC',
                                              u'SP', u'Brazil')
        self.assertNotEquals(location, loc4)
        loc4.city_code = 13560
        location = CityLocation.get_or_create(self.store, u'City ABC',
                                              u'SP', u'Brazil')
        self.assertEquals(location, loc4)

        for city, state, country in [(u'Sao', u'SP', 'Brazil'),
                                     (u'carlos', decimal.Decimal(8), u'Brazil')]:
            with self.assertRaises(TypeError):
                CityLocation.get_or_create(self.store, city, state, country)
예제 #4
0
    def test_get_or_create(self):
        loc = CityLocation.get_or_create(self.store, u'City', u'State',
                                         u'Country')
        self.failUnless(loc)
        self.assertEqual(loc.city, u'City')
        self.assertEqual(loc.state, u'State')
        self.assertEqual(loc.country, u'Country')

        loc2 = CityLocation.get_or_create(self.store, u'city', u'state',
                                          u'country')
        self.failUnless(loc2)
        self.assertEqual(loc2.city, u'City')
        self.assertEqual(loc2.state, u'State')
        self.assertEqual(loc2.country, u'Country')
        self.assertEqual(loc2, loc)

        location = CityLocation.get_or_create(self.store, u'São Carlos', u'SP',
                                              u'Brazil')
        for city, state, country in [(u'sao carlos', u'SP', u'Brazil'),
                                     (u'Sao carlos', u'SP', u'Brazil'),
                                     (u'São carlos', u'SP', u'Brazil'),
                                     (u'sao Carlos', u'SP', u'Brazil'),
                                     (u'sao Carlos', u'sp', u'Brazil'),
                                     (u'sao Carlos', u'sp', u'brazil'),
                                     (u'sao Carlos', u'Sp', u'brazil')]:
            self.assertEqual(
                CityLocation.get_or_create(self.store, city, state, country),
                location)
        loc2 = CityLocation(store=self.store)
        loc2.city = u'Sao Carlos'
        loc2.state = u'SP'
        loc2.country = u'Brazil'
        loc2.city_code = 00000
        location = CityLocation.get_or_create(self.store, u'São Carlos', u'SP',
                                              u'Brazil')
        self.assertEquals(location.city_code, 3548906)
        loc3 = CityLocation(store=self.store)
        loc3.city = u'City ABC'
        loc3.state = u'SP'
        loc3.country = u'Brazil'
        loc3.city_code = None
        loc4 = CityLocation(store=self.store)
        loc4.city = u'City ABĆ'
        loc4.state = u'SP'
        loc4.country = u'Brazil'
        loc4.city_code = None
        location = CityLocation.get_or_create(self.store, u'City ABC', u'SP',
                                              u'Brazil')
        self.assertNotEquals(location, loc4)
        loc4.city_code = 13560
        location = CityLocation.get_or_create(self.store, u'City ABC', u'SP',
                                              u'Brazil')
        self.assertEquals(location, loc4)

        for city, state, country in [(u'Sao', u'SP', 'Brazil'),
                                     (u'carlos', decimal.Decimal(8), u'Brazil')
                                     ]:
            with self.assertRaises(TypeError):
                CityLocation.get_or_create(self.store, city, state, country)