Repository: kinegratii/borax

Issue:
农历日“二十”“三十”中文名称错误
## 发现版本

v3.4.0

## 问题描述

“廿十”、“卅十” 是不正确的用法，因为“廿”、“卅” 本身就是二十、三十的意思了，正确的应该为“二十”、“三十”。


## 代码示例

```python
from borax.calendars.lunardate import LunarDate, TextUtils

print(TextUtils.day_cn(20)) # “廿十”
ld = LunarDate(2020, 10, 20, 0)
print(ld.cn_day) # “廿十”
print(ld.cn_day_calendar) # “廿十”
print(ld.cn_str()) # “廿十”
```

## 建议方案

只需要修改 `TextUtils.day_cn` 逻辑即可，其他函数均是调用该函数。


Discussion:

Patch:
diff --git a/borax/calendars/lunardate.py b/borax/calendars/lunardate.py
index b7adda7..6e37c33 100644
--- a/borax/calendars/lunardate.py
+++ b/borax/calendars/lunardate.py
@@ -352,9 +352,10 @@ class TextUtils:
     def day_cn(day: int) -> str:
         a, b = divmod(day, 10)
         if b == 0:  # 10,20,30
-            b = 10
-            if a == 1:  # 10
-                a = 0
+            if a == 1:
+                return TextUtils.TENS[0] + TextUtils.DAYS_CN[10]
+            else:
+                return TextUtils.DAYS_CN[a] + TextUtils.DAYS_CN[10]
         return TextUtils.TENS[a] + TextUtils.DAYS_CN[b]
 
     @staticmethod


Test patch:
diff --git a/tests/test_lunardate.py b/tests/test_lunardate.py
index 86417c7..092c2c9 100644
--- a/tests/test_lunardate.py
+++ b/tests/test_lunardate.py
@@ -4,7 +4,22 @@ import datetime
 import unittest
 from datetime import date, timedelta
 
-from borax.calendars.lunardate import LunarDate, parse_year_days, LCalendars, InvalidLunarDateError
+from borax.calendars.lunardate import LunarDate, parse_year_days, LCalendars, InvalidLunarDateError, TextUtils
+
+
+class TextUtilsTestCase(unittest.TestCase):
+    def test_cn_day_text(self):
+        data = [
+            (1, '初一'),
+            (10, '初十'),
+            (14, '十四'),
+            (20, '二十'),
+            (23, '廿三'),
+            (30, '三十')
+        ]
+        for value, text in data:
+            with self.subTest(value=value, text=text):
+                self.assertEqual(text, TextUtils.day_cn(value))
 
 
 class LunarDateTestCase(unittest.TestCase):