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)