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))
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)
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)