def test_case_sensitive(self): csdata = unicode_dict([('ábc',1), ('d',2)], case_sensitive = True) self.assertTrue(csdata.case_sensitive) self.assertFalse(self.withdata.case_sensitive) self.assertNotEqual(self.withdata,csdata) self.assertIn('abc', self.withdata) self.assertIn('Abc', self.withdata) self.assertIn('abc', csdata) self.assertNotIn('Abc', csdata) csdata['Abc'] = 4 self.withdata['Abc'] = 4 self.assertEqual(self.withdata['abc'], self.withdata['Abc']) self.assertEqual(self.withdata['ábc'], 4) self.assertNotEqual(csdata['abc'], csdata['Abc']) self.assertEqual(csdata['ábc'], 1) self.assertEqual(csdata['Abc'], 4) self.assertEqual(csdata['Ábc'], 4) cidata = unicode_dict(csdata, case_sensitive=False) #explicit casting to case insensitive self.assertNotEqual(cidata, csdata) self.assertNotEqual(len(cidata), len(csdata)) self.assertEqual(len(cidata), 2) self.assertEqual(len(csdata), 3) self.assertTrue(cidata['abc'] == 1 or cidata['abc'] == 4) # casting down doesn't guarantee the result
def setUp(self): self.empty = unicode_dict() self.withdata = unicode_dict({'ábc':1, 'd':2}) self.compdata = unicode_dict({'ábc':1, 'd':2},comparison_level=3)
def test_copy_constructor(self): test = unicode_dict(self.compdata,comparison_level=self.withdata.comparison_level) self.assertNotEqual(self.compdata, test) self.assertEqual(self.withdata, test) self.assertIn('abc', test)
def test_comparison(self): test = unicode_dict({'abc':1, 'd':2}) self.assertEqual(test, self.withdata)