Skip to content

Commit

Permalink
Merge 4f19a83 into bd2b732
Browse files Browse the repository at this point in the history
  • Loading branch information
Wenli Tsai committed Jun 19, 2018
2 parents bd2b732 + 4f19a83 commit 2b41fcc
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 8 deletions.
4 changes: 3 additions & 1 deletion 臺灣言語工具/基本物件/字.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,11 @@ def __init__(self, 型, 音=無音, 輕聲標記=False):
(型是標點 ^ 音是標點)
):
raise 解析錯誤('型佮音干焦一个是標點符號!「{}」佮「{}」'.format(, ))

# 判斷輕聲
self.輕聲標記 = 輕聲標記
self. =
self. =
self.輕聲標記 = 輕聲標記

def 有音(self):
return self. != 無音 and self. not in 標點符號
Expand Down
4 changes: 3 additions & 1 deletion 臺灣言語工具/基本物件/詞.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ def __init__(self, 字陣列=[]):
raise 型態錯誤(
'字陣列內底有毋是字的:字陣列={0},字物件={1}'.format(str(字陣列), str(字物件))
)
self.內底字.append((字物件., 字物件.))
self.內底字.append(
(字物件., 字物件., 字物件.輕聲標記)
)
except TypeError as 問題:
raise 型態錯誤('傳入來的字陣列毋法度疊代:{0},問題:{1}'
.format(str(字陣列), 問題))
Expand Down
14 changes: 12 additions & 2 deletions 臺灣言語工具/解析整理/拆文分析器.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class 拆文分析器:

@classmethod
def 建立字物件(cls, 語句, 別種書寫=無音):
return (語句, 別種書寫)
return cls.對齊字物件(語句, 別種書寫)

@classmethod
def 建立詞物件(cls, 語句, 別種書寫=None):
Expand Down Expand Up @@ -71,7 +71,17 @@ def 建立章物件(cls, 語句, 別種書寫=None):

@classmethod
def 對齊字物件(cls, , ):
return (, )
輕聲標記 = .startswith('--')
本調型 =
本調音 =
try:
if .startswith('--'):
本調型 = [2:]
if 輕聲標記:
本調音 = [2:]
except AttributeError:
raise 型態錯誤('對齊字物件愛傳入字串,收到的是 {} {}'.format(, ))
return (本調型, 本調音, 輕聲標記)

@classmethod
def 對齊詞物件(cls, , ):
Expand Down
8 changes: 8 additions & 0 deletions 試驗/基本物件/Test詞單元試驗.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,11 @@ def test_三字詞有字無音(self):
]
鄉所分詞答案 = '鄉-公-所|hiang1--soo2'
self.assertEqual(鄉所詞物件.看分詞(), 鄉所分詞答案)

def test_輕聲詞(self):
詞物件 = ([
('喔', 'ooh', 輕聲標記=True),
])
self.assertTrue(
詞物件.篩出字物件()[0].敢有輕聲標記()
)
47 changes: 43 additions & 4 deletions 試驗/解析整理/Test拆文分析器輕聲單元試驗.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# -*- coding: utf-8 -*-
from unittest.case import TestCase, skip
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
from 臺灣言語工具.基本物件. import


class 拆文分析器輕聲單元試驗(TestCase):
Expand Down Expand Up @@ -69,6 +68,46 @@ def test_輕聲的音愛加0無(self):
= '--啊'
= '--ah'
組物件 = 拆文分析器.對齊組物件(, )
self.assertEqual(組物件.篩出字物件(), [
('啊', '0ah'),
])
self.assertEqual(組物件.篩出字物件()[0]., 'ah')

def test_詞頭輕聲(self):
= '--啊'
= '--ah'
詞物件 = 拆文分析器.對齊詞物件(, )
self.assertTrue(詞物件.篩出字物件()[0].敢有輕聲標記())

def test_對齊字輕聲(self):
= '--啊'
= '--ah'
字物件 = 拆文分析器.對齊字物件(, )
self.assertTrue(字物件.敢有輕聲標記())

def test_建立字輕聲(self):
= '--啊'
= '--ah'
字物件 = 拆文分析器.建立字物件(, )
self.assertTrue(字物件.敢有輕聲標記())

def test_字輕聲的字提掉輕聲符(self):
= '--啊'
= '--ah'
字物件 = 拆文分析器.建立字物件(, )
self.assertEqual(字物件., '啊')

def test_字輕聲的音提掉輕聲符(self):
= '--啊'
= '--ah'
字物件 = 拆文分析器.建立字物件(, )
self.assertEqual(字物件., 'ah')

def test_字輕聲的音維持0(self):
= '啊'
= '0ah'
字物件 = 拆文分析器.對齊字物件(, )
self.assertEqual(字物件., '0ah')

def test_字輕聲有0就免輕聲標記(self):
= '啊'
= '0ah'
字物件 = 拆文分析器.對齊字物件(, )
self.assertFalse(字物件.輕聲標記)

0 comments on commit 2b41fcc

Please sign in to comment.