Files
lijiaoqiao/gateway/internal/router/scoring/weights_test.go
Your Name 89104bd0db feat(P1/P2): 完成TDD开发及P1/P2设计文档
## 设计文档
- multi_role_permission_design: 多角色权限设计 (CONDITIONAL GO)
- audit_log_enhancement_design: 审计日志增强 (CONDITIONAL GO)
- routing_strategy_template_design: 路由策略模板 (CONDITIONAL GO)
- sso_saml_technical_research: SSO/SAML调研 (CONDITIONAL GO)
- compliance_capability_package_design: 合规能力包设计 (CONDITIONAL GO)

## TDD开发成果
- IAM模块: supply-api/internal/iam/ (111个测试)
- 审计日志模块: supply-api/internal/audit/ (40+测试)
- 路由策略模块: gateway/internal/router/ (33+测试)
- 合规能力包: gateway/internal/compliance/ + scripts/ci/compliance/

## 规范文档
- parallel_agent_output_quality_standards: 并行Agent产出质量规范
- project_experience_summary: 项目经验总结 (v2)
- 2026-04-02-p1-p2-tdd-execution-plan: TDD执行计划

## 评审报告
- 5个CONDITIONAL GO设计文档评审报告
- fix_verification_report: 修复验证报告
- full_verification_report: 全面质量验证报告
- tdd_module_quality_verification: TDD模块质量验证
- tdd_execution_summary: TDD执行总结

依据: Superpowers执行框架 + TDD规范
2026-04-02 23:35:53 +08:00

31 lines
925 B
Go

package scoring
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestScoreWeights_DefaultValues(t *testing.T) {
// 验证默认权重
// LatencyWeight = 0.4 (40%)
// AvailabilityWeight = 0.3 (30%)
// CostWeight = 0.2 (20%)
// QualityWeight = 0.1 (10%)
assert.Equal(t, 0.4, DefaultWeights.LatencyWeight, "LatencyWeight should be 0.4 (40%%)")
assert.Equal(t, 0.3, DefaultWeights.AvailabilityWeight, "AvailabilityWeight should be 0.3 (30%%)")
assert.Equal(t, 0.2, DefaultWeights.CostWeight, "CostWeight should be 0.2 (20%%)")
assert.Equal(t, 0.1, DefaultWeights.QualityWeight, "QualityWeight should be 0.1 (10%%)")
}
func TestScoreWeights_Sum(t *testing.T) {
// 验证权重总和为1.0
total := DefaultWeights.LatencyWeight +
DefaultWeights.AvailabilityWeight +
DefaultWeights.CostWeight +
DefaultWeights.QualityWeight
assert.InDelta(t, 1.0, total, 0.001, "Weights sum should be 1.0")
}