Source code for tests.test_enclosed

"""
Tests for Enclosed CJK Letters and Months
"""
from __future__ import unicode_literals
from ksx1026 import uchar, normalization
import unittest
import unicodedata
import six


[docs]class EnclosedTest(unittest.TestCase):
[docs] def setUp(self): self.parenthesized = list( six.unichr(x) for x in range(int("3200", 16), int("321E", 16) + 1)) self.circled = list( six.unichr(x) for x in range(int("3260", 16), int("327E", 16) + 1))
[docs] def test_parenthesized(self): for p in self.parenthesized: self.assertFalse(uchar.isModernChoseong(p), msg=p) self.assertFalse(uchar.isChoseongJamo(p), msg=p) self.assertFalse(uchar.isModernJungseong(p), msg=p) self.assertFalse(uchar.isJungseongJamo(p), msg=p) self.assertFalse(uchar.isModernJongseong(p), msg=p) self.assertFalse(uchar.isOldJongseong(p), msg=p) self.assertFalse(uchar.isJongseongJamo(p), msg=p) self.assertFalse(uchar.isHangulJamo(p), msg=p) self.assertFalse(uchar.isHalfwidthLetter(p), msg=p) self.assertFalse(uchar.isCompatibilityLetter(p), msg=p) self.assertTrue(uchar.isParenthesizedLetter(p), msg=p) self.assertFalse(uchar.isCircledLetter(p), msg=p) self.assertFalse(uchar.isPrecomposedSyllable(p), msg=p) self.assertTrue(uchar.isHangulLetter(p), msg=p) pp1 = unicodedata.normalize("NFKC", p) pp2 = normalization.normalizeJamoKDKC(p) if len(pp2) > 1 and uchar.isModernChoseong(pp2[1]): self.assertEqual(pp1[:2] + "\u1160" + pp1[-1], pp2)
[docs] def test_circled(self): for c in self.circled: self.assertFalse(uchar.isModernChoseong(c), msg=c) self.assertFalse(uchar.isChoseongJamo(c), msg=c) self.assertFalse(uchar.isModernJungseong(c), msg=c) self.assertFalse(uchar.isJungseongJamo(c), msg=c) self.assertFalse(uchar.isModernJongseong(c), msg=c) self.assertFalse(uchar.isOldJongseong(c), msg=c) self.assertFalse(uchar.isJongseongJamo(c), msg=c) self.assertFalse(uchar.isHangulJamo(c), msg=c) self.assertFalse(uchar.isHalfwidthLetter(c), msg=c) self.assertFalse(uchar.isCompatibilityLetter(c), msg=c) self.assertFalse(uchar.isParenthesizedLetter(c), msg=c) self.assertTrue(uchar.isCircledLetter(c), msg=c) self.assertFalse(uchar.isPrecomposedSyllable(c), msg=c) self.assertTrue(uchar.isHangulLetter(c), msg=c) cc1 = unicodedata.normalize("NFKC", c) cc2 = normalization.normalizeJamoKDKC(c) if uchar.isModernChoseong(cc2[0]): self.assertEqual(cc1 + "\u1160", cc2)
if __name__ == '__main__': unittest.main()