Files
LambdaMail/services/protocols/internal/domain/valueobject/spam_verdict_test.go
T

24 lines
571 B
Go

package valueobject
import "testing"
func TestSpamVerdictFromScore_MatchesThresholds(t *testing.T) {
// Thresholds from PLAN.md section 10.1.
cases := []struct {
score float64
want SpamVerdict
}{
{0, SpamHam},
{3.9, SpamHam},
{4, SpamProbable},
{8.9, SpamProbable},
{9, SpamReject}, // section 10.1: 9-15 greylists/defers, modeled here as reject-eligible
{15.1, SpamReject},
}
for _, c := range cases {
if got := SpamVerdictFromScore(c.score); got != c.want {
t.Errorf("SpamVerdictFromScore(%v) = %v, want %v", c.score, got, c.want)
}
}
}