package model import "testing" func TestSeedDiseasesCoverCoreFour(t *testing.T) { core := []string{"核型多角体病", "白僵病", "软化病", "微粒子病"} got := map[string]bool{} for _, d := range SeedDiseases { got[d.Name] = true } for _, name := range core { if !got[name] { t.Errorf("核心蚕病缺失: %s", name) } } } func TestSeedDiseasesRequiredFields(t *testing.T) { for _, d := range SeedDiseases { if d.Name == "" || d.Category == "" { t.Errorf("病种名称/类别不能为空: %+v", d) } if d.Pathogen == "" || d.Symptoms == "" || d.Transmission == "" || d.Prevention == "" { t.Errorf("病种必备字段缺失(病原/症状/传播途径/防治指南): %s", d.Name) } } } func TestSeedDiseasesNamesUnique(t *testing.T) { seen := map[string]bool{} for _, d := range SeedDiseases { if seen[d.Name] { t.Errorf("病种名称重复: %s", d.Name) } seen[d.Name] = true } } func TestSeedKnowledgeArticlesHasAIGuide(t *testing.T) { found := false for _, a := range SeedKnowledgeArticles { if a.Kind == "ai_guide" && a.Title != "" && a.Content != "" { found = true } } if !found { t.Error("缺少 AI 结果解读文章(kind=ai_guide)") } } func TestSeedKnowledgeArticlesHasLAMPGuid(t *testing.T) { found := false for _, a := range SeedKnowledgeArticles { if a.Kind == "lamp_guide" && a.Title != "" && a.Content != "" { found = true } } if !found { t.Error("缺少 LAMP 操作教程文章(kind=lamp_guide)") } } func TestSeedKnowledgeArticlesHasSERSGuide(t *testing.T) { found := false for _, a := range SeedKnowledgeArticles { if a.Kind == "sers_guide" && a.Title != "" && a.Content != "" { found = true } } if !found { t.Error("缺少 SERS 操作教程文章(kind=sers_guide)") } } func TestSeedKnowledgeArticlesHasSeasonalTips(t *testing.T) { seasons := map[string]bool{} for _, a := range SeedKnowledgeArticles { if a.Kind != "seasonal_tip" || a.Content == "" { continue } for _, s := range []string{"春季", "夏季", "秋季", "冬季"} { if len(a.Title) >= len(s) && a.Title[:len(s)] == s { seasons[s] = true } } } for _, s := range []string{"春季", "夏季", "秋季", "冬季"} { if !seasons[s] { t.Errorf("缺少季节防控提醒文章: %s", s) } } } func TestSeedDiseasesHasUnknownCategory(t *testing.T) { found := false for _, d := range SeedDiseases { if d.Category == "other" && d.Name != "" { found = true } } if !found { t.Error("缺少「其它/未知」类别的病种条目") } }