first
pc-1
This commit is contained in:
81
simple_test.py
Normal file
81
simple_test.py
Normal file
@@ -0,0 +1,81 @@
|
||||
#!/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()
|
||||
Reference in New Issue
Block a user