fix:修改no_reply为no_action,同时修复一些小bug

This commit is contained in:
SengokuCola
2025-08-17 21:14:52 +08:00
parent 0b053dcf6f
commit 794a0d8fd4
24 changed files with 818 additions and 271 deletions

124
test_fix_memory_points.py Normal file
View File

@@ -0,0 +1,124 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
测试修复后的memory_points处理
"""
import sys
import os
# 添加src目录到Python路径
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src'))
from person_info.person_info import Person
def test_memory_points_with_none():
"""测试包含None值的memory_points处理"""
print("测试包含None值的memory_points处理...")
# 创建一个测试Person实例
person = Person(person_id="test_user_123")
# 模拟包含None值的memory_points
person.memory_points = [
"喜好:喜欢咖啡:1.0",
None, # 模拟None值
"性格:开朗:1.0",
None, # 模拟另一个None值
"兴趣:编程:1.0"
]
print(f"原始memory_points: {person.memory_points}")
# 测试get_all_category方法
try:
categories = person.get_all_category()
print(f"获取到的分类: {categories}")
print("✓ get_all_category方法正常工作")
except Exception as e:
print(f"✗ get_all_category方法出错: {e}")
return False
# 测试get_memory_list_by_category方法
try:
memories = person.get_memory_list_by_category("喜好")
print(f"获取到的喜好记忆: {memories}")
print("✓ get_memory_list_by_category方法正常工作")
except Exception as e:
print(f"✗ get_memory_list_by_category方法出错: {e}")
return False
# 测试del_memory方法
try:
deleted_count = person.del_memory("喜好", "喜欢咖啡")
print(f"删除的记忆点数量: {deleted_count}")
print(f"删除后的memory_points: {person.memory_points}")
print("✓ del_memory方法正常工作")
except Exception as e:
print(f"✗ del_memory方法出错: {e}")
return False
return True
def test_memory_points_empty():
"""测试空的memory_points处理"""
print("\n测试空的memory_points处理...")
person = Person(person_id="test_user_456")
person.memory_points = []
try:
categories = person.get_all_category()
print(f"空列表的分类: {categories}")
print("✓ 空列表处理正常")
except Exception as e:
print(f"✗ 空列表处理出错: {e}")
return False
try:
memories = person.get_memory_list_by_category("测试分类")
print(f"空列表的记忆: {memories}")
print("✓ 空列表分类查询正常")
except Exception as e:
print(f"✗ 空列表分类查询出错: {e}")
return False
return True
def test_memory_points_all_none():
"""测试全部为None的memory_points处理"""
print("\n测试全部为None的memory_points处理...")
person = Person(person_id="test_user_789")
person.memory_points = [None, None, None]
try:
categories = person.get_all_category()
print(f"全None列表的分类: {categories}")
print("✓ 全None列表处理正常")
except Exception as e:
print(f"✗ 全None列表处理出错: {e}")
return False
try:
memories = person.get_memory_list_by_category("测试分类")
print(f"全None列表的记忆: {memories}")
print("✓ 全None列表分类查询正常")
except Exception as e:
print(f"✗ 全None列表分类查询出错: {e}")
return False
return True
if __name__ == "__main__":
print("开始测试修复后的memory_points处理...")
success = True
success &= test_memory_points_with_none()
success &= test_memory_points_empty()
success &= test_memory_points_all_none()
if success:
print("\n🎉 所有测试通过memory_points的None值处理已修复。")
else:
print("\n❌ 部分测试失败,需要进一步检查。")