123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- """
- 简单测试CalendarInfo模型的基本功能
- """
- import sys
- import os
- sys.path.append(os.path.dirname(os.path.abspath(__file__)))
- def test_calendar_info_model():
- """测试CalendarInfo模型的基本功能"""
- print("=== 测试CalendarInfo模型基本功能 ===")
-
- try:
- # 导入模型
- from app.core.data_parse.calendar import CalendarInfo
-
- print("✅ 成功导入CalendarInfo模型")
-
- # 测试模型属性
- print(f"表名: {CalendarInfo.__tablename__}")
- print(f"表参数: {CalendarInfo.__table_args__}")
-
- # 测试字段定义
- print("字段定义:")
- for column in CalendarInfo.__table__.columns: # type: ignore
- print(f" - {column.name}: {column.type}")
-
- print("✅ CalendarInfo模型定义正确")
-
- except Exception as e:
- print(f"❌ 测试失败: {e}")
- import traceback
- traceback.print_exc()
- def test_calendar_info_creation():
- """测试CalendarInfo对象的创建"""
- print("\n=== 测试CalendarInfo对象创建 ===")
-
- try:
- from app.core.data_parse.calendar import CalendarInfo
- from datetime import date
-
- # 创建测试数据
- test_data = {
- 'yangli': '2025-01-19',
- 'yinli': '甲午(马)年八月十八',
- 'wuxing': '井泉水 建执位',
- 'chongsha': '冲兔(己卯)煞东',
- 'baiji': '乙不栽植千株不长 酉不宴客醉坐颠狂',
- 'jishen': '官日 六仪 益後 月德合 除神 玉堂 鸣犬',
- 'yi': '祭祀 出行 扫舍 馀事勿取',
- 'xiongshen': '月建 小时 土府 月刑 厌对 招摇 五离',
- 'ji': '诸事不宜'
- }
-
- # 使用from_dict方法创建对象
- calendar_info = CalendarInfo.from_dict(test_data)
- print("✅ 成功创建CalendarInfo对象")
-
- # 测试to_dict方法
- result_dict = calendar_info.to_dict()
- print("✅ to_dict方法工作正常")
- print(f"转换结果: {result_dict}")
-
- # 测试to_json方法
- json_str = calendar_info.to_json()
- print("✅ to_json方法工作正常")
- print(f"JSON字符串: {json_str}")
-
- except Exception as e:
- print(f"❌ 测试失败: {e}")
- import traceback
- traceback.print_exc()
- if __name__ == "__main__":
- test_calendar_info_model()
- test_calendar_info_creation()
- print("\n🎉 基本功能测试完成!")
|