package engine import ( "testing" "github.com/local/glpi-neural-brain/internal/articlequality" ) func TestArticleCPUQualityBetterPrefersFewerHardFailures(t *testing.T) { better := articlequality.Result{Score: .61, WordCount: 620, HardFailures: []string{"low_information_density"}} worse := articlequality.Result{Score: .70, WordCount: 700, HardFailures: []string{"article_too_short", "low_information_density"}} if !articleCPUQualityBetter(better, worse) { t.Fatal("fewer hard failures must outrank a numerically higher score") } } func TestArticleCPUQualityBetterPrefersHigherScoreWhenFailuresEqual(t *testing.T) { better := articlequality.Result{Score: .72, WordCount: 640, HardFailures: []string{"article_too_short"}} worse := articlequality.Result{Score: .66, WordCount: 700, HardFailures: []string{"article_too_short"}} if !articleCPUQualityBetter(better, worse) { t.Fatal("higher score should win when pass/fail and hard-failure count are equal") } } func TestArticleCPUQualityBetterAlwaysPrefersPassingDraft(t *testing.T) { better := articlequality.Result{Passed: true, Score: .60, WordCount: 600} worse := articlequality.Result{Passed: false, Score: .90, WordCount: 900, HardFailures: []string{"high_redundancy"}} if !articleCPUQualityBetter(better, worse) { t.Fatal("a passing draft must always outrank a failing draft") } }