#!/usr/bin/env python3 """ 简单测试三体问题求解器 """ import sys import os # 添加当前目录到路径 current_dir = os.path.dirname(os.path.abspath(__file__)) sys.path.insert(0, current_dir) print("三体问题求解器 - 简单测试") print("=" * 60) try: # 尝试导入 print("1. 导入模块...") from three_body_problem.particle import Particle from three_body_problem.config import ThreeBodyConfig print(" ✓ 导入成功") # 测试创建质点 print("\n2. 测试质点创建...") p = Particle(mass=1.0, position=[1.0, 2.0, 3.0], velocity=[0.1, 0.2, 0.3], name="Test") print(f" 名称: {p.name}") print(f" 质量: {p.mass}") print(f" 位置: {p.position}") print(f" 速度: {p.velocity}") print(" ✓ 质点创建成功") # 测试能量计算 energy = p.get_energy() print(f" 动能: {energy:.6f}") print(" ✓ 能量计算成功") # 测试更新 print("\n3. 测试质点更新...") p.update([2.0, 3.0, 4.0], [0.2, 0.3, 0.4]) print(f" 新位置: {p.position}") print(f" 新速度: {p.velocity}") print(f" 历史记录: {len(p.position_history)} 个位置点") print(" ✓ 质点更新成功") # 测试配置创建 print("\n4. 测试配置创建...") particles = ThreeBodyConfig.create_figure8_config() print(f" 创建了 {len(particles)} 个质点") for i, particle in enumerate(particles): print(f" 质点{i+1}: {particle.name}, 质量: {particle.mass:.3f}") print(" ✓ 配置创建成功") # 测试随机配置 print("\n5. 测试随机配置...") random_particles = ThreeBodyConfig.create_random_config() print(f" 创建了 {len(random_particles)} 个随机质点") total_mass = sum(p.mass for p in random_particles) print(f" 总质量: {total_mass:.3f}") print(" ✓ 随机配置成功") print("\n" + "=" * 60) print("所有基本测试通过!") print("=" * 60) # 显示下一步操作 print("\n下一步:") print("1. 安装依赖: pip install numpy matplotlib") print("2. 运行完整测试: python three_body_problem/tests/test_solver.py") print("3. 运行示例: python three_body_problem/run_example.py") print("4. 查看文档: 阅读 three_body_problem/README.md") except ImportError as e: print(f"\n✗ 导入错误: {e}") print("\n请确保:") print("1. 在项目根目录运行此测试") print("2. 安装了必要的依赖: pip install numpy matplotlib") except Exception as e: print(f"\n✗ 测试错误: {e}") import traceback traceback.print_exc()