def test_complement(self): cds = UnicodeSubset([50, 90, 10, 90]) self.assertEqual(list(cds.complement()), [(0, 10), (11, 50), (51, 90), (91, sys.maxunicode + 1)]) cds.add(11) self.assertEqual(list(cds.complement()), [(0, 10), (12, 50), (51, 90), (91, sys.maxunicode + 1)]) cds.add((0, 10)) self.assertEqual(list(cds.complement()), [(12, 50), (51, 90), (91, sys.maxunicode + 1)])
def test_complement(self): cds = UnicodeSubset([50, 90, 10, 90]) self.assertEqual(list(cds.complement()), [(0, 10), (11, 50), (51, 90), (91, sys.maxunicode + 1)]) cds.add(11) self.assertEqual(list(cds.complement()), [(0, 10), (12, 50), (51, 90), (91, sys.maxunicode + 1)]) cds.add((0, 10)) self.assertEqual(list(cds.complement()), [(12, 50), (51, 90), (91, sys.maxunicode + 1)]) cds1 = UnicodeSubset(chain( UNICODE_CATEGORIES['L'].code_points, UNICODE_CATEGORIES['M'].code_points, UNICODE_CATEGORIES['N'].code_points, UNICODE_CATEGORIES['S'].code_points )) cds2 = UnicodeSubset(chain( UNICODE_CATEGORIES['C'].code_points, UNICODE_CATEGORIES['P'].code_points, UNICODE_CATEGORIES['Z'].code_points )) self.assertListEqual(cds1.code_points, UnicodeSubset(cds2.complement()).code_points)
def test_modify(self): cds = UnicodeSubset([50, 90, 10, 90]) self.assertEqual(cds, [10, 50, 90]) self.assertRaises(XMLSchemaValueError, cds.add, -1) self.assertRaises(XMLSchemaValueError, cds.add, sys.maxunicode + 1) cds.add((100, 20001)) cds.discard((100, 19001)) self.assertEqual(cds, [10, 50, 90, (19001, 20001)]) cds.add(0) cds.discard(1) self.assertEqual(cds, [0, 10, 50, 90, (19001, 20001)]) cds.discard(0) self.assertEqual(cds, [10, 50, 90, (19001, 20001)]) cds.discard((10, 100)) self.assertEqual(cds, [(19001, 20001)]) cds.add(20) cds.add(19) cds.add(30) cds.add([30, 33]) cds.add(30000) cds.add(30001) self.assertEqual(cds, [(19, 21), (30, 33), (19001, 20001), (30000, 30002)]) cds.add(22) cds.add(21) cds.add(22) self.assertEqual(cds, [(19, 22), 22, (30, 33), (19001, 20001), (30000, 30002)]) cds.discard((90, 50000)) self.assertEqual(cds, [(19, 22), 22, (30, 33)]) cds.discard(21) cds.discard(19) self.assertEqual(cds, [20, 22, (30, 33)]) cds.discard((0, 200)) self.assertEqual(cds, [])