test_calendar_basic.py 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. """
  2. 简单测试CalendarInfo模型的基本功能
  3. """
  4. import sys
  5. import os
  6. sys.path.append(os.path.dirname(os.path.abspath(__file__)))
  7. def test_calendar_info_model():
  8. """测试CalendarInfo模型的基本功能"""
  9. print("=== 测试CalendarInfo模型基本功能 ===")
  10. try:
  11. # 导入模型
  12. from app.core.data_parse.calendar import CalendarInfo
  13. print("✅ 成功导入CalendarInfo模型")
  14. # 测试模型属性
  15. print(f"表名: {CalendarInfo.__tablename__}")
  16. print(f"表参数: {CalendarInfo.__table_args__}")
  17. # 测试字段定义
  18. print("字段定义:")
  19. for column in CalendarInfo.__table__.columns: # type: ignore
  20. print(f" - {column.name}: {column.type}")
  21. print("✅ CalendarInfo模型定义正确")
  22. except Exception as e:
  23. print(f"❌ 测试失败: {e}")
  24. import traceback
  25. traceback.print_exc()
  26. def test_calendar_info_creation():
  27. """测试CalendarInfo对象的创建"""
  28. print("\n=== 测试CalendarInfo对象创建 ===")
  29. try:
  30. from app.core.data_parse.calendar import CalendarInfo
  31. from datetime import date
  32. # 创建测试数据
  33. test_data = {
  34. 'yangli': '2025-01-19',
  35. 'yinli': '甲午(马)年八月十八',
  36. 'wuxing': '井泉水 建执位',
  37. 'chongsha': '冲兔(己卯)煞东',
  38. 'baiji': '乙不栽植千株不长 酉不宴客醉坐颠狂',
  39. 'jishen': '官日 六仪 益後 月德合 除神 玉堂 鸣犬',
  40. 'yi': '祭祀 出行 扫舍 馀事勿取',
  41. 'xiongshen': '月建 小时 土府 月刑 厌对 招摇 五离',
  42. 'ji': '诸事不宜',
  43. 'color': 'purple'
  44. }
  45. # 使用from_dict方法创建对象
  46. calendar_info = CalendarInfo.from_dict(test_data)
  47. print("✅ 成功创建CalendarInfo对象")
  48. # 测试to_dict方法
  49. result_dict = calendar_info.to_dict()
  50. print("✅ to_dict方法工作正常")
  51. print(f"转换结果: {result_dict}")
  52. # 测试to_json方法
  53. json_str = calendar_info.to_json()
  54. print("✅ to_json方法工作正常")
  55. print(f"JSON字符串: {json_str}")
  56. except Exception as e:
  57. print(f"❌ 测试失败: {e}")
  58. import traceback
  59. traceback.print_exc()
  60. if __name__ == "__main__":
  61. test_calendar_info_model()
  62. test_calendar_info_creation()
  63. print("\n🎉 基本功能测试完成!")