File: test_char.py

package info (click to toggle)
tomoe 0.6.0-1.3
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 51,396 kB
  • sloc: xml: 1,387,526; ansic: 11,515; sh: 9,072; ruby: 1,344; python: 762; makefile: 450
file content (130 lines) | stat: -rw-r--r-- 4,140 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# encoding: utf-8
import os
import sys
import unittest
import tomoe

class TomoeCharTest(unittest.TestCase):

    def testDuplicate(self):
        data = """
<character>
  <utf8>池</utf8>
  <number-of-strokes>6</number-of-strokes>
  <readings>
    <reading type="ja_on">タ</reading>
    <reading type="ja_on">チ</reading>
    <reading type="ja_kun">いけ</reading>
    <reading type="ja_unknown">あんのうん</reading>
  </readings>
  <meta>
    <jis208>35-51</jis208>
    <ucs>6c60</ucs>
    <jouyou>2</jouyou>
    <meaning>pond, cistern, pool, reservoir</meaning>
  </meta>
</character>
        """
        char1 = tomoe.tomoe_char_new_from_xml_data(data, int(-1))
        self.assertNotEqual(None, char1)
        char2 = char1.dup()
        self.assertEqual(char1.to_xml(), char2.to_xml())

    def testUTF8(self):
        utf8 = '池'

        tomoe_char = tomoe.Char()
        self.assertEqual(None, tomoe_char.get_utf8())
        tomoe_char.set_utf8(utf8)
        self.assertEqual(utf8, tomoe_char.get_utf8())

        tomoe_char = tomoe.Char(utf8 = utf8)
        self.assertEqual(utf8, tomoe_char.get_utf8())

        new_utf8 = '地'
        tomoe_char.set_utf8(new_utf8)
        self.assertEqual(new_utf8, tomoe_char.get_utf8())

    def testStrokes(self):
        n_strokes = 2
        tomoe_char = tomoe.Char()
        self.assertEqual(-1, tomoe_char.get_n_strokes())
        tomoe_char.set_n_strokes(n_strokes)
        self.assertEqual(n_strokes, tomoe_char.get_n_strokes())

        tomoe_char = tomoe.Char(n_strokes = n_strokes)
        self.assertEqual(n_strokes, tomoe_char.get_n_strokes())

        n_strokes = 3
        tomoe_char.set_n_strokes(n_strokes)
        self.assertEqual(n_strokes, tomoe_char.get_n_strokes())

    def testReading(self):
        reading_string = 'いけ'
        reading1 = tomoe.Reading(tomoe.READING_UNKNOWN, reading_string)

        tomoe_char = tomoe.Char()
        self.assertEqual(0, len(tomoe_char.get_readings()))

        tomoe_char.add_reading(reading1)
        self.assertEqual([reading1], tomoe_char.get_readings())

        reading2 = tomoe.Reading(tomoe.READING_JA_KUN, reading_string)
        tomoe_char.add_reading(reading2)
        self.assertEqual([reading1, reading2].sort(), tomoe_char.get_readings().sort())

    def testRadical(self):
        radical_string1 = 'いけ'

        tomoe_char = tomoe.Char()
        self.assertEqual(0, len(tomoe_char.get_radicals()))

        tomoe_char.add_radical(radical_string1)
        self.assertEqual([radical_string1], tomoe_char.get_radicals())

        radical_string2 = 'ほげ'
        tomoe_char.add_radical(radical_string2)
        self.assertEqual([radical_string1, radical_string2].sort(), tomoe_char.get_radicals().sort())

    def testWriting(self):
        writing = tomoe.Writing()

        tomoe_char = tomoe.Char()
        self.assertEqual(None, tomoe_char.get_writing())
        tomoe_char.set_writing(writing)
        self.assertEqual(writing, tomoe_char.get_writing())

        tomoe_char = tomoe.Char(writing = writing)
        self.assertEqual(writing, tomoe_char.get_writing())

        writing.move_to(1, 1)
        writing.line_to(2, 2)
        tomoe_char.set_writing(writing)
        self.assertEqual(writing.to_xml(), tomoe_char.get_writing().to_xml())

    def testVariant(self):
        variant = '池'
        tomoe_char = tomoe.Char()
        self.assertEqual(None, tomoe_char.get_variant())
        tomoe_char.set_variant(variant)
        self.assertEqual(variant, tomoe_char.get_variant())

        tomoe_char = tomoe.Char(variant = variant)
        self.assertEqual(variant, tomoe_char.get_variant())

        variant = '地'
        tomoe_char.set_variant(variant)
        self.assertEqual(variant, tomoe_char.get_variant())

    def testCompare(self):
        char1 = '池'
        char2 = '地'
        
        tomoe_char1 = tomoe.Char(utf8 = char1)
        tomoe_char2 = tomoe.Char(utf8 = char1)
        self.assertEqual(tomoe_char1, tomoe_char2)
        
        tomoe_char2 = tomoe.Char(utf8 = char2)
        self.assertNotEqual(0, tomoe_char1, tomoe_char2)

# vi:ts=4:nowrap:ai:expandtab