mirror of
https://github.com/goldenfishs/MRobot.git
synced 2026-02-04 18:00:19 +08:00
69 lines
1.8 KiB
Python
69 lines
1.8 KiB
Python
#!/usr/bin/env python3
|
|
"""测试分类功能"""
|
|
|
|
from app.tools.finance_manager import FinanceManager, Transaction
|
|
|
|
# 创建财务管理器
|
|
fm = FinanceManager()
|
|
|
|
# 创建一个测试账户
|
|
account = fm.create_account("测试账户", "用于测试分类功能")
|
|
print(f"创建账户: {account.name} (ID: {account.id})")
|
|
print(f"初始分类: {account.categories}")
|
|
|
|
# 添加新分类
|
|
print("\n添加新分类...")
|
|
fm.add_category(account.id, "工作支出")
|
|
fm.add_category(account.id, "个人投资")
|
|
|
|
account = fm.get_account(account.id)
|
|
print(f"更新后的分类: {account.categories}")
|
|
|
|
# 创建交易记录
|
|
print("\n创建交易记录...")
|
|
trans1 = Transaction(
|
|
date="2024-01-01",
|
|
amount=1000,
|
|
trader="张三",
|
|
notes="工资",
|
|
category="工资"
|
|
)
|
|
fm.add_transaction(account.id, trans1)
|
|
|
|
trans2 = Transaction(
|
|
date="2024-01-02",
|
|
amount=-500,
|
|
trader="李四",
|
|
notes="午餐",
|
|
category="饮食"
|
|
)
|
|
fm.add_transaction(account.id, trans2)
|
|
|
|
trans3 = Transaction(
|
|
date="2024-01-03",
|
|
amount=-200,
|
|
trader="公司",
|
|
notes="项目费用",
|
|
category="工作支出"
|
|
)
|
|
fm.add_transaction(account.id, trans3)
|
|
|
|
# 查询交易记录
|
|
print("\n所有交易记录:")
|
|
account = fm.get_account(account.id)
|
|
for trans in account.transactions:
|
|
print(f" {trans.date} | {trans.trader} | {trans.category} | ¥{trans.amount:.2f} | {trans.notes}")
|
|
|
|
# 按分类查询
|
|
print("\n按分类查询 - 工资:")
|
|
results = fm.query_transactions(account.id, category="工资")
|
|
for trans in results:
|
|
print(f" {trans.date} | {trans.trader} | {trans.category} | ¥{trans.amount:.2f}")
|
|
|
|
print("\n按分类查询 - 饮食:")
|
|
results = fm.query_transactions(account.id, category="饮食")
|
|
for trans in results:
|
|
print(f" {trans.date} | {trans.trader} | {trans.category} | ¥{trans.amount:.2f}")
|
|
|
|
print("\nTest passed! ✓")
|