From 1b87208e54d3eb782c2357b70403499a7591b37b Mon Sep 17 00:00:00 2001 From: Alan Jui Date: Fri, 12 Apr 2024 21:13:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=96=AE=E5=85=83=E6=B8=AC?= =?UTF-8?q?=E8=A9=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Kong_Un_V2.db | Bin 3866624 -> 3866624 bytes ...07\346\237\245\346\213\274\351\237\263.py" | 224 ++---------------- "mod_\345\273\243\351\237\273.py" | 222 +++++++++++++++++ test_a400.py | 74 ------ ... => "test_mod_\345\273\243\351\237\273.py" | 71 +++++- tmp.py | 44 ++++ 6 files changed, 347 insertions(+), 288 deletions(-) create mode 100644 "mod_\345\273\243\351\237\273.py" delete mode 100644 test_a400.py rename test_han_ji_cha_siau_un.py => "test_mod_\345\273\243\351\237\273.py" (64%) create mode 100644 tmp.py diff --git a/Kong_Un_V2.db b/Kong_Un_V2.db index ed5d1ebcc14b2b935abe6c4a08ef415067133819..f02ced2f504ba680be5f97a2d72101cea7247cfe 100644 GIT binary patch delta 570 zcmaiv%}Z2K7{>3NuY0>{j+Iu9);Km=IZm2=SQ2Ce5kU)G)T%a>2(AolIa7-#Nz{8e zGBe`GV35dAqj?uCYGD{Cw0YXvqD^zVMt?$!&K--ujR($o`90^yd)|{y|5DR(n~|D6 zMe(mF@=z4@qpV-7L|3p+Nk01d_Cayd@V$_kQV|ZWW}DVx!}f&vTdkCd?#1RvuO`Me zW^LCjsG>Ne+ux^RZJ{ki-_la=q~Gti@2}4V4Cx1I<8eKIQ*>@dBx>J0oKH#Y7Wws1 zUDSxmRa%+c&cAmTmXhw9Txs-`Fs=F)X%BezT=mG{!zVk6Q+VkvW=e8!?Ur{pd#BuZ zqWPLu#;Uy=H;B7d_)2N?xm%cz_V)jMdxsOdrg6qTZ0GI&ma{Z1IU%e-#PHG|Gezh1 zf>1v_E~EQ&)ma`FU#;7AZtA)!?qwQ9Hj}b@vNu%y-xuxAxvRcs1Xa)n`oRDg1Vf+( z>fk=m04u;sunOD{R)b-%20Q>B1P_6=U>$fEJOUmC>%j=v05*chz~f*PYyx9oGk5}w sgDqeycoIAXo(9{%1lSHH!82e7*a@BmyTEhcdGG>w5$pypE%I{5ABubVYFk7-l5g;HcWdap85_`#B06TOA0vjRO`y;~7z zJHf{pF)ln@L}kQNxxVtsO9J&t`O$NN9*c>y_vy=8kha%CJ+d^CxtJNc7M7(jp3QRp z+w1Dqn|H~r57y?Bx0D+X(c~SDKDW%1;W%F6;(gRGTPr`g36|zJbZU(Cl2a3DrsP&t ztCJcxIVzXjA#PIaj^8Vt25onMYPkbcOQ&hu9qq2>Y+p#0&R@-4`u~QqG@QF|IZQ04 zlW}_p{mEj02I^U{`NzGMMlb6b;cqp<>!gUMcM5YG0UCAwIiXtGqpI_`>afrP9`FJO zJP05{D@f1=K9Io=?Vx}P9k2^D(4iB$U^nc600f~MLa-NlAPf7;9!U;IJSanWi`hNipS0Ob3 diff --git "a/a400_\345\217\215\345\210\207\346\237\245\346\213\274\351\237\263.py" "b/a400_\345\217\215\345\210\207\346\237\245\346\213\274\351\237\263.py" index e411216..e5bce8a 100644 --- "a/a400_\345\217\215\345\210\207\346\237\245\346\213\274\351\237\263.py" +++ "b/a400_\345\217\215\345\210\207\346\237\245\346\213\274\351\237\263.py" @@ -2,215 +2,17 @@ import sqlite3 import sys -global conn, cursor +from mod_廣韻 import ( + cha_ciat_gu_ha_ji, + cha_ciat_gu_siong_ji, + close_db_connection, + connect_to_db, + han_ji_cha_piau_im, +) -def connect_to_db(db_name): - # 創建數據庫連接 - conn = sqlite3.connect(db_name) - # 創建一個游標 - cursor = conn.cursor() - - return conn, cursor - - -def close_db_connection(conn): - # 關閉數據庫連接 - conn.close() - - -""" -查音雅俗通十五音聲母對照表 -""" -def query_sip_ngoo_im_siann_bu_tui_ciau_piau(cursor): - # SQL 查詢語句 - query = """ - SELECT 識別號, - 廣韻聲母, - 雅俗通聲母, - 聲母拼音碼, - 國際音標 - FROM 聲母對照表; - """ - - # 執行 SQL 查詢 - cursor.execute(query) - - # 獲取查詢結果 - results = cursor.fetchall() - - # 將結果轉換為字典列表 - fields = ['識別號', '廣韻聲母', '雅俗通聲母', '聲母拼音碼', '國際音標', ] - dict_results = [dict(zip(fields, result)) for result in results] - - # 回傳字典列表 - return dict_results - - -""" -查詢雅俗通十五音韻母對照表 -""" -def query_sip_ngoo_im_un_bu_tui_ciau_piau(cursor): - # SQL 查詢語句 - query = """ - SELECT 識別號, - 廣韻韻母, - 雅俗通韻母, - 舒促聲, - 拚音碼, - 國際音標, - 十五音序號, - 林進三拚音碼 - FROM 韻母對照表; - """ - - # 執行 SQL 查詢 - cursor.execute(query) - - # 獲取查詢結果 - results = cursor.fetchall() - - # 將結果轉換為字典列表 - fields = ['識別號', '廣韻韻母', '雅俗通韻母', '舒促聲', '韻母拼音碼', '國際音標', ] - dict_results = [dict(zip(fields, result)) for result in results] - - # 回傳字典列表 - return dict_results - - -""" -查詢漢字在 `小韻` 中的標音 -""" -def query_han_ji_piau_im(cursor, han_ji): - """ - 根據漢字查詢其讀音資訊。 - - :param cursor: 數據庫游標 - :param han_zi: 欲查詢的漢字 - :return: 包含讀音資訊的字典列表 - """ - query = """ - SELECT 小韻字, 切語, 拼音 - FROM 小韻查詢 - WHERE 小韻字 = ?; - """ - cursor.execute(query, (han_ji,)) - results = cursor.fetchall() - - # 將結果轉換為字典列表 - fields = ['小韻字', '切語', '標音'] - return [dict(zip(fields, result)) for result in results] - -""" -查詢某漢字的 `小韻` 資料 -""" -def han_ji_cha_siau_un(cursor, han_ji): - # SQL 查詢語句 - query = """ - SELECT * - FROM 小韻查詢 - WHERE 小韻字 = ?; - """ - - # 執行 SQL 查詢 - cursor.execute(query, (han_ji,)) - - # 獲取查詢結果 - results = cursor.fetchall() - - # 將結果轉換為字典列表 - fields = ['小韻字', '切語', '標音', '目次編碼', '小韻字序號', '小韻字集', '字數', - '發音部位', '聲母', '清濁', '發送收', '聲母拼音碼', '切語上字集', - '韻系列號', '韻系行號', '韻目索引', '目次', '攝', '韻系', - '韻目', '調', '呼', '等', '韻母', '切語下字集', '等呼', '韻母拼音碼'] - - dict_results = [dict(zip(fields, result)) for result in results] - - # 回傳字典列表 - return dict_results - -""" -用 `漢字` 查詢《廣韻》的標音 -""" -def han_ji_cha_piau_im(cursor, han_ji): - """ - 根據漢字查詢其讀音資訊。 - - :param cursor: 數據庫游標 - :param han_ji: 欲查詢的漢字 - :return: 包含讀音資訊的字典列表 - """ - query = """ - SELECT * - FROM 漢字查廣韻標音 - WHERE 字 = ?; - """ - cursor.execute(query, (han_ji,)) - results = cursor.fetchall() - - # 將結果轉換為字典列表 - fields = [ - '識別號', '字', '同音字序', '切語', '漢字標音', '字義', - '小韻字', '目次編碼', '小韻字序號', '小韻字集', '字數', - '發音部位', '聲母', '清濁', '發送收', '上字標音', '切語上字集', - '韻系列號', '韻系行號', '韻目索引', '目次', '攝', '韻系', - '韻目', '調', '呼', '等', '韻母', '切語下字集', '等呼', '下字標音', - ] - return [dict(zip(fields, result)) for result in results] - - -def query_table_by_field(cursor, table_name, fields, query_field, keyword): - # 執行 SQL 查詢 - cursor.execute(f"SELECT * FROM {table_name} WHERE {query_field} LIKE ?", ('%' + keyword + '%',)) - - # 獲取查詢結果 - results = cursor.fetchall() - - # 將結果轉換為字典列表 - dict_results = [dict(zip(fields, result)) for result in results] - - # 回傳字典列表 - return dict_results - - -def cha_ciat_gu_siong_ji(cursor, siong_ji): - table_name = "切語上字表" - fields = [ - '識別號', '聲母識別號', '發音部位', '聲母', '清濁', '發送收', - '聲母拼音碼', '切語上字集', '備註', - ] - query_field = "切語上字集" - return query_table_by_field(cursor, table_name, fields, query_field, siong_ji) - - -def cha_ciat_gu_ha_ji(cursor, ha_ji): - table_name = "切語下字表" - fields = [ - '識別號', '韻母識別號', '韻系列號', '韻系行號', - '韻目索引', '目次識別號', '目次', - '攝', '韻系', '韻目', '調', '呼', '等', '韻母', - '切語下字集', '等呼', '韻母拼音碼', '備註', - ] - query_field = "切語下字集" - return query_table_by_field(cursor, table_name, fields, query_field, ha_ji) - - -def query_table_by_id(cursor, table_name, fields, id): - # 執行 SQL 查詢 - cursor.execute(f"SELECT * FROM {table_name} WHERE 識別號 = ?", (id,)) - - # 獲取查詢結果 - results = cursor.fetchall() - - # 將結果轉換為字典列表 - dict_results = [dict(zip(fields, result)) for result in results] - - # 回傳字典列表 - return dict_results - - -if __name__ == "__main__": +def main(): # 確認使用者有輸入反切之切語參數 if len(sys.argv) != 2: print("請輸入欲查詢讀音之【切語】(反切上字及下字)!") @@ -244,7 +46,7 @@ def query_table_by_id(cursor, table_name, fields, id): print(f'查不到【反切上字】:{siong_ji}') else: print(f"切語上字 = {siong_ji} (標音:{siong_ji_im[0]['漢字標音']})") - print(f"聲母:{siong_ji_piau[0]['聲母']} [{siong_ji_piau[0]['聲母拼音碼']}] ") + print(f"聲母:{siong_ji_piau[0]['聲母']} [{siong_ji_piau[0]['聲母拼音碼']}],國際音標:/{siong_ji_im[0]['聲母國際音標']}/ ") print(f"(發音部位:{siong_ji_piau[0]['發音部位']},清濁:{siong_ji_piau[0]['清濁']},發送收:{siong_ji_piau[0]['發送收']})") # 查詢反切下字 @@ -256,7 +58,7 @@ def query_table_by_id(cursor, table_name, fields, id): print(f'查不到【反切下字】:{ha_ji}') else: print(f"切語下字 = {ha_ji} (標音:{ha_ji_im[0]['漢字標音']})") - print(f"韻母:{ha_ji_piau[0]['韻母']} [{ha_ji_piau[0]['韻母拼音碼']}]") + print(f"韻母:{ha_ji_piau[0]['韻母']} [{ha_ji_piau[0]['韻母拼音碼']}],國際音標:/{ha_ji_im[0]['韻母國際音標']}/") print(f"攝:{ha_ji_piau[0]['攝']},調:{ha_ji_piau[0]['調']}聲,目次:{ha_ji_piau[0]['目次']}") print(f"{ha_ji_piau[0]['韻系']}韻系,{ha_ji_piau[0]['韻目']}韻,{ha_ji_piau[0]['呼']}口呼,{ha_ji_piau[0]['等']}等 ({ha_ji_piau[0]['等呼']})") @@ -281,4 +83,8 @@ def query_table_by_id(cursor, table_name, fields, id): print(f'【切語拼音】:{ciat_gu} [{siann}{un}{tiau_ho}]\n') # 關閉 DB - close_db_connection(conn) \ No newline at end of file + close_db_connection(conn) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git "a/mod_\345\273\243\351\237\273.py" "b/mod_\345\273\243\351\237\273.py" new file mode 100644 index 0000000..9e09d31 --- /dev/null +++ "b/mod_\345\273\243\351\237\273.py" @@ -0,0 +1,222 @@ +import sqlite3 + + + +def connect_to_db(db_name): + # 創建數據庫連接 + conn = sqlite3.connect(db_name) + + # 創建一個游標 + cursor = conn.cursor() + + return conn, cursor + + +def close_db_connection(conn): + # 關閉數據庫連接 + conn.close() + + +#=============================================================================== +# 查音雅俗通十五音聲母對照表 +#=============================================================================== +def cha_siann_bu_tui_ciau_piau(cursor): + # SQL 查詢語句 + query = """ + SELECT 識別號, + 聲母碼, + 聲母國際音標, + 白話字聲母, + 閩拼聲母, + 台羅聲母, + 方音聲母, + 十五音聲母 + FROM 聲母對照表; + """ + + # 執行 SQL 查詢 + cursor.execute(query) + + # 獲取查詢結果 + results = cursor.fetchall() + + # 將結果轉換為字典列表 + fields = [ + '識別號', '聲母碼', '聲母國際音標', '白話字聲母', '閩拼聲母', '台羅聲母', + '方音聲母', '十五音聲母', + ] + dict_results = [dict(zip(fields, result)) for result in results] + + # 回傳字典列表 + return dict_results + + +""" +查詢雅俗通十五音韻母對照表 +""" +def cha_un_bu_tui_ciau_piau(cursor): + # SQL 查詢語句 + query = """ + SELECT 識別號, + 韻母碼, + 韻母國際音標, + 白話字韻母, + 閩拼韻母, + 台羅韻母, + 方音韻母, + 十五音韻母, + 舒促聲, + 十五音序 + FROM 韻母對照表; + """ + + # 執行 SQL 查詢 + cursor.execute(query) + + # 獲取查詢結果 + results = cursor.fetchall() + + # 將結果轉換為字典列表 + fields = [ + '識別號', '韻母碼', '韻母國際音標', '白話字韻母', '閩拼韻母', '台羅韻母', + '方音韻母', '十五音韻母', '舒促聲', '十五音序' + ] + dict_results = [dict(zip(fields, result)) for result in results] + + # 回傳字典列表 + return dict_results + + +""" +使用 `小韻檢視` 查詢某小韻之切語及標音 +""" +def cha_siau_un_piau_im(cursor, han_ji): + """ + 根據漢字查詢其讀音資訊。 + + :param cursor: 數據庫游標 + :param han_zi: 欲查詢的漢字 + :return: 包含讀音資訊的字典列表 + """ + query = """ + SELECT 小韻字, 小韻切語, 小韻標音 + FROM 小韻檢視 + WHERE 小韻字 = ?; + """ + cursor.execute(query, (han_ji,)) + results = cursor.fetchall() + + # 將結果轉換為字典列表 + fields = ['小韻字', '小韻切語', '小韻標音'] + return [dict(zip(fields, result)) for result in results] + +""" +查詢某漢字的 `小韻` 資料 +""" +def han_ji_cha_siau_un(cursor, han_ji): + # SQL 查詢語句 + query = """ + SELECT * + FROM 小韻檢視 + WHERE 小韻字 = ?; + """ + + # 執行 SQL 查詢 + cursor.execute(query, (han_ji,)) + + # 獲取查詢結果 + results = cursor.fetchall() + + # 將結果轉換為字典列表 + fields = [ + '小韻識別號', '小韻字', '小韻切語', '小韻標音', '目次', '小韻字序號', '小韻字集', '字數', + '聲母發音部位', '清濁', '發送收', '廣韻聲母', '雅俗通聲母', '上字標音', + '聲母國際音標', '白話字聲母', '閩拼聲母', '台羅聲母', '方音聲母', + '攝', '韻目', '調', '呼', '等', '韻母', '等呼', '廣韻韻母', '雅俗通韻母', '下字標音', + '韻母國際音標', '白話字韻母', '閩拼韻母', '台羅韻母', '方音韻母', + ] + + dict_results = [dict(zip(fields, result)) for result in results] + + # 回傳字典列表 + return dict_results + +""" +用 `漢字` 查詢《廣韻》的標音 +""" +def han_ji_cha_piau_im(cursor, han_ji): + """ + 根據漢字查詢其讀音資訊。 + + :param cursor: 數據庫游標 + :param han_ji: 欲查詢的漢字 + :return: 包含讀音資訊的字典列表 + """ + query = """ + SELECT * + FROM 漢字廣韻標音檢視 + WHERE 字 = ?; + """ + cursor.execute(query, (han_ji,)) + results = cursor.fetchall() + + # 將結果轉換為字典列表 + fields = [ + '漢字識別號', '字', '同音字序', '切語', '漢字標音', '字義', + '小韻字', '目次編碼', '小韻字序號', '小韻字集', '字數', + '發音部位', '清濁', '發送收', '切語上字集', '廣韻聲母', '雅俗通聲母', + '上字標音', '聲母國際音標', '白話字聲母', '閩拼聲母', '台羅聲母', '方音聲母', + '韻系列號', '韻系行號', '韻目索引', '目次', '攝', '韻系', '韻目', '調', '呼', '等', '韻母', '切語下字集', '等呼', + '廣韻韻母', '雅俗通韻母', '下字標音', '韻母國際音標', '白話字韻母', '閩拼韻母', '台羅韻母', '方音韻母', + ] + return [dict(zip(fields, result)) for result in results] + + +def query_table_by_field(cursor, table_name, fields, query_field, keyword): + # 執行 SQL 查詢 + cursor.execute(f"SELECT * FROM {table_name} WHERE {query_field} LIKE ?", ('%' + keyword + '%',)) + + # 獲取查詢結果 + results = cursor.fetchall() + + # 將結果轉換為字典列表 + dict_results = [dict(zip(fields, result)) for result in results] + + # 回傳字典列表 + return dict_results + + +def cha_ciat_gu_siong_ji(cursor, siong_ji): + table_name = "切語上字表" + fields = [ + '識別號', '聲母識別號', '發音部位', '聲母', '清濁', '發送收', + '聲母拼音碼', '切語上字集', '備註', + ] + query_field = "切語上字集" + return query_table_by_field(cursor, table_name, fields, query_field, siong_ji) + + +def cha_ciat_gu_ha_ji(cursor, ha_ji): + table_name = "切語下字表" + fields = [ + '識別號', '韻母識別號', '韻系列號', '韻系行號', + '韻目索引', '目次識別號', '目次', + '攝', '韻系', '韻目', '調', '呼', '等', '韻母', + '切語下字集', '等呼', '韻母拼音碼', '備註', + ] + query_field = "切語下字集" + return query_table_by_field(cursor, table_name, fields, query_field, ha_ji) + + +def query_table_by_id(cursor, table_name, fields, id): + # 執行 SQL 查詢 + cursor.execute(f"SELECT * FROM {table_name} WHERE 識別號 = ?", (id,)) + + # 獲取查詢結果 + results = cursor.fetchall() + + # 將結果轉換為字典列表 + dict_results = [dict(zip(fields, result)) for result in results] + + # 回傳字典列表 + return dict_results diff --git a/test_a400.py b/test_a400.py deleted file mode 100644 index 25f20d2..0000000 --- a/test_a400.py +++ /dev/null @@ -1,74 +0,0 @@ -import unittest - -from a400_反切查拼音 import * - - -class TestFunctions(unittest.TestCase): - def setUp(self): - self.conn, self.cursor = connect_to_db('Kong_Un_V2.db') - - def tearDown(self): - close_db_connection(self.conn) - - # 以下是函數的測試模版 - # def test_other_function(self): - # result = other_function() - # self.assertIsNotNone(result) - - def test_query_sip_ngoo_im_siann_bu_tui_ciau_piau(self): - result = query_sip_ngoo_im_siann_bu_tui_ciau_piau(self.cursor) - self.assertIsNotNone(result) - - def test_query_sip_ngoo_im_un_bu_tui_ciau_piau(self): - result = query_sip_ngoo_im_un_bu_tui_ciau_piau(self.cursor) - self.assertIsNotNone(result) - - def test_query_cha_siau_un(self): - # SQL 查询语句,从"小韻查詢"视图中选择数据 - query = """ - SELECT * - FROM 小韻查詢 - LIMIT 1; -- 只获取一条记录以验证视图是否返回数据 - """ - - # 使用 cursor 执行查询 - self.cursor.execute(query) - - # 获取查询结果 - result = self.cursor.fetchall() - - # 验证结果不为空,即视图中有数据 - self.assertIsNotNone(result) - self.assertGreater(len(result), 0, "小韻查詢视图没有返回数据") - - def test_query_han_ji_cha_siau_un(self): - # 定義 SQL 查詢語句,篩選小韻字為“風”的紀錄 - query = """ - SELECT 切語, 拼音 - FROM 小韻查詢 - WHERE 小韻字 = '風'; - """ - - # 使用 cursor 執行查詢 - self.cursor.execute(query) - - # 獲取查詢結果 - results = self.cursor.fetchall() - - # 驗證結果不為空 - self.assertIsNotNone(results) - self.assertGreater(len(results), 0, "查詢‘風’的小韻沒有返回數據") - - # 檢查每一條返回的紀錄 - found = False - for result in results: - chiat_gu, phing_im = result - if chiat_gu == '方戎' and phing_im == 'hiong1': - found = True - break - - # 驗證是否找到了預期的紀錄 - self.assertTrue(found, "未找到預期的‘切語’為‘方戎’且‘拼音’為‘hiong1’的紀錄") - -if __name__ == '__main__': - unittest.main() diff --git a/test_han_ji_cha_siau_un.py "b/test_mod_\345\273\243\351\237\273.py" similarity index 64% rename from test_han_ji_cha_siau_un.py rename to "test_mod_\345\273\243\351\237\273.py" index 78cb5bf..80125ac 100644 --- a/test_han_ji_cha_siau_un.py +++ "b/test_mod_\345\273\243\351\237\273.py" @@ -1,13 +1,14 @@ import unittest -from a400_反切查拼音 import ( +from mod_廣韻 import ( cha_ciat_gu_ha_ji, cha_ciat_gu_siong_ji, + cha_siann_bu_tui_ciau_piau, + cha_un_bu_tui_ciau_piau, close_db_connection, connect_to_db, han_ji_cha_piau_im, han_ji_cha_siau_un, - query_han_ji_piau_im, query_table_by_field, query_table_by_id, ) @@ -20,6 +21,37 @@ def setUp(self): def tearDown(self): close_db_connection(self.conn) + def test_cha_siann_bu_tui_ciau_piau(self): + result = cha_siann_bu_tui_ciau_piau(self.cursor) + self.assertIsNotNone(result) + + + def test_query_cha_siau_un(self): + """測試能否操作資料庫之檢視(View) + """ + + # SQL 查询语句,从"小韻查詢"视图中选择数据 + query = """ + SELECT * + FROM 小韻檢視 + LIMIT 1; -- 只获取一条记录以验证视图是否返回数据 + """ + + # 使用 cursor 执行查询 + self.cursor.execute(query) + + # 获取查询结果 + result = self.cursor.fetchall() + + # 验证结果不为空,即视图中有数据 + self.assertIsNotNone(result) + self.assertGreater(len(result), 0, "小韻查詢视图没有返回数据") + + + def test_cha_un_bu_tui_ciau_piau(self): + result = cha_un_bu_tui_ciau_piau(self.cursor) + self.assertIsNotNone(result) + def test_query_table_by_id(self): table_name = '切語上字表' @@ -53,10 +85,39 @@ def test_query_table_by_field(self): self.assertTrue(found, "在 '小韻字集' 欄位中未找到 '中'") + def test_han_ji_cha_siau_un(self): + # 定義 SQL 查詢語句,篩選小韻字為“風”的紀錄 + query = """ + SELECT 小韻切語, 小韻標音 + FROM 小韻查詢 + WHERE 小韻字 = '風'; + """ + + # 使用 cursor 執行查詢 + self.cursor.execute(query) + + # 獲取查詢結果 + results = self.cursor.fetchall() + + # 驗證結果不為空 + self.assertIsNotNone(results) + self.assertGreater(len(results), 0, "查詢‘風’的小韻沒有返回數據") + + # 檢查每一條返回的紀錄 + found = False + for result in results: + chiat_gu, phing_im = result + if chiat_gu == '方戎' and phing_im == 'hiong1': + found = True + break + + # 驗證是否找到了預期的紀錄 + self.assertTrue(found, "未找到預期的‘切語’為‘方戎’且‘拼音’為‘hiong1’的紀錄") + - def test_query_han_ji_piau_im(self): + def test_han_ji_cha_piau_im(self): han_ji = '空' - results = query_han_ji_piau_im(self.cursor, han_ji) + results = han_ji_cha_piau_im(self.cursor, han_ji) self.assertGreater(len(results), 0, "未查詢到‘空’的讀音資訊") # 驗證是否包含特定的讀音資訊 expected = {'小韻字': '空', '切語': '苦紅', '標音': 'khong1'} @@ -71,7 +132,7 @@ def test_han_ji_cha_siau_un(self): # 检查是否存在符合条件的记录 found = False for result in results: - if result.get('小韻字') == '空' and result.get('切語') == '苦紅' and result.get('標音') == 'khong1': + if result.get('小韻字') == '空' and result.get('小韻切語') == '苦紅' and result.get('小韻標音') == 'khong1': found = True break diff --git a/tmp.py b/tmp.py new file mode 100644 index 0000000..6013ebd --- /dev/null +++ b/tmp.py @@ -0,0 +1,44 @@ +'漢字識別號', +'字', +'同音字序', +'切語', +'拼音', +'字義', +'小韻字', +'目次編碼', +'小韻字序號', +'小韻字集', +'字數', +'發音部位', +'清濁', +'發送收', +'切語上字集', +'廣韻聲母', +'雅俗通聲母', +'上字標音', +'聲母國際音標', +'白話字聲母', +'閩拼聲母', +'台羅聲母', +'方音聲母', +'韻系列號', +'韻系行號', +'韻目索引', +'目次', +'攝', +'韻系', +'韻目', +'調', +'呼', +'等', +'韻母', +'切語下字集', +'等呼', +'廣韻韻母', +'雅俗通韻母', +'下字標音', +'韻母國際音標', +'白話字韻母', +'閩拼韻母', +'台羅韻母', +'方音韻母','