x
This commit is contained in:
@@ -0,0 +1,146 @@
|
||||
"""
|
||||
测试铝泡沫模具分模功能
|
||||
"""
|
||||
import sys
|
||||
sys.path.insert(0, "src")
|
||||
|
||||
def test_imports():
|
||||
"""测试模块导入"""
|
||||
print("测试模块导入...")
|
||||
|
||||
try:
|
||||
from core.aluminum_foam_mold import AluminumFoamMoldGenerator
|
||||
print("✅ AluminumFoamMoldGenerator 导入成功")
|
||||
|
||||
from core.mold_quality_inspector import AluminumFoamMoldQualityInspector
|
||||
print("✅ AluminumFoamMoldQualityInspector 导入成功")
|
||||
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"❌ 导入失败: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
return False
|
||||
|
||||
|
||||
def test_foam_materials():
|
||||
"""测试铝泡沫材料数据库"""
|
||||
print("\n测试铝泡沫材料数据库...")
|
||||
|
||||
from core.aluminum_foam_mold import AluminumFoamMoldGenerator
|
||||
|
||||
gen = AluminumFoamMoldGenerator()
|
||||
|
||||
# 检查材料数据库
|
||||
expected_materials = ["AlSi10Mg", "AlSi12", "Pure Al Foam", "AlSi7Mg"]
|
||||
|
||||
for material in expected_materials:
|
||||
if material in gen.foam_materials:
|
||||
props = gen.foam_materials[material]
|
||||
print(f"✅ {material}: 密度={props['density']}, 发泡倍率={props['expansion_ratio']}")
|
||||
else:
|
||||
print(f"❌ 缺少材料: {material}")
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
||||
def test_material_setting():
|
||||
"""测试材料设置"""
|
||||
print("\n测试材料设置...")
|
||||
|
||||
from core.aluminum_foam_mold import AluminumFoamMoldGenerator
|
||||
|
||||
gen = AluminumFoamMoldGenerator()
|
||||
|
||||
# 测试设置铝泡沫材料
|
||||
gen.set_foam_material("AlSi10Mg")
|
||||
|
||||
if gen.material_density == 0.45 and gen.shrinkage_rate == 0.015:
|
||||
print("✅ 材料设置正确: AlSi10Mg")
|
||||
else:
|
||||
print(f"❌ 材料参数不正确: density={gen.material_density}, shrinkage={gen.shrinkage_rate}")
|
||||
return False
|
||||
|
||||
# 测试塑料材料
|
||||
gen.set_material("ABS")
|
||||
if gen.material_density == 1.05:
|
||||
print("✅ 塑料材料设置正确: ABS")
|
||||
else:
|
||||
print("❌ 塑料材料设置失败")
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
||||
def test_quality_inspector():
|
||||
"""测试质量检测器"""
|
||||
print("\n测试质量检测器...")
|
||||
|
||||
from core.mold_quality_inspector import AluminumFoamMoldQualityInspector
|
||||
|
||||
inspector = AluminumFoamMoldQualityInspector()
|
||||
|
||||
# 测试数据结构
|
||||
test_data = {
|
||||
"parting_line": [[0,0,0], [10,0,0], [10,10,0], [0,10,0], [0,0,0]],
|
||||
"cavity": True,
|
||||
"core": True,
|
||||
"parting_surface": True,
|
||||
"analysis": {
|
||||
"volume": 1000000,
|
||||
"bounding_box": {"dimensions": [100, 80, 50]}
|
||||
},
|
||||
"undercut_regions": []
|
||||
}
|
||||
|
||||
result = inspector.inspect_surface_quality(test_data)
|
||||
|
||||
if "overall_score" in result:
|
||||
print(f"✅ 质量检测正常工作, 评分: {result['overall_score']:.1f}")
|
||||
return True
|
||||
else:
|
||||
print("❌ 质量检测返回数据格式错误")
|
||||
return False
|
||||
|
||||
|
||||
def main():
|
||||
"""运行所有测试"""
|
||||
print("="*50)
|
||||
print("铝泡沫模具分模功能测试")
|
||||
print("="*50)
|
||||
|
||||
tests = [
|
||||
test_imports,
|
||||
test_foam_materials,
|
||||
test_material_setting,
|
||||
test_quality_inspector,
|
||||
]
|
||||
|
||||
results = []
|
||||
for test in tests:
|
||||
try:
|
||||
results.append(test())
|
||||
except Exception as e:
|
||||
print(f"❌ 测试异常: {e}")
|
||||
results.append(False)
|
||||
|
||||
print("\n" + "="*50)
|
||||
print("测试结果汇总")
|
||||
print("="*50)
|
||||
|
||||
passed = sum(results)
|
||||
total = len(results)
|
||||
|
||||
print(f"通过: {passed}/{total}")
|
||||
|
||||
if passed == total:
|
||||
print("\n🎉 所有测试通过!")
|
||||
return 0
|
||||
else:
|
||||
print(f"\n⚠️ {total - passed} 个测试失败")
|
||||
return 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
Reference in New Issue
Block a user