Files
wx_service/internal/smoke/service/smoke_ai_advice_service_test.go
T
2026-02-28 16:24:11 +08:00

33 lines
1.0 KiB
Go

package service
import "testing"
func TestDeriveUserSegment(t *testing.T) {
t.Parallel()
tests := []struct {
name string
baselinePerDay int
smokingYears float64
expectedSegment string
}{
{name: "新手用户", baselinePerDay: 6, smokingYears: 1.5, expectedSegment: "newbie"},
{name: "中度用户_按日均", baselinePerDay: 12, smokingYears: 1, expectedSegment: "moderate"},
{name: "中度用户_按烟龄", baselinePerDay: 8, smokingYears: 3.2, expectedSegment: "moderate"},
{name: "重度用户_按日均", baselinePerDay: 20, smokingYears: 2, expectedSegment: "heavy"},
{name: "重度用户_按烟龄", baselinePerDay: 9, smokingYears: 10, expectedSegment: "heavy"},
}
for _, tc := range tests {
tc := tc
t.Run(tc.name, func(t *testing.T) {
t.Parallel()
got := deriveUserSegment(tc.baselinePerDay, tc.smokingYears)
if got != tc.expectedSegment {
t.Fatalf("deriveUserSegment(%d, %.1f)=%s, want=%s", tc.baselinePerDay, tc.smokingYears, got, tc.expectedSegment)
}
})
}
}