コード例 #1
0
    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
コード例 #2
0
 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)
コード例 #3
0
 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)
コード例 #4
0
 def test_comparison(self):
     test = unicode_dict({"abc": 1, "d": 2})
     self.assertEqual(test, self.withdata)