package nickname import ( "strings" "testing" "unicode/utf8" ) func TestWordBankSize(t *testing.T) { if len(imageryWords) != 100 { t.Fatalf("imagery want 100 got %d", len(imageryWords)) } if len(sceneWords) != 100 { t.Fatalf("scene want 100 got %d", len(sceneWords)) } } func TestRandomFormat(t *testing.T) { seen := map[string]bool{} for i := 0; i < 50; i++ { n := Random() if utf8.RuneCountInString(n) < 2 { t.Fatalf("too short: %q", n) } seen[n] = true ok := false for _, im := range imageryWords { for _, sc := range sceneWords { if n == im+sc { ok = true break } } if ok { break } } if !ok { t.Fatalf("not from bank: %q", n) } } if len(seen) < 5 { t.Fatalf("expected some variety, got %d unique", len(seen)) } } func TestNormalize(t *testing.T) { if got := Normalize(" 心语岛 "); got != "心语岛" { t.Fatalf("got %q", got) } long := strings.Repeat("啊", 20) if utf8.RuneCountInString(Normalize(long)) != 16 { t.Fatalf("clamp failed") } }