Files
glpi-neural-brain/internal/engine/article_cpu_quality_v12_test.go
jbergner 94dbd4ccab
All checks were successful
release-tag / release-image (push) Successful in 2m32s
RC-4
2026-08-09 18:41:47 +02:00

32 lines
1.3 KiB
Go

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")
}
}