每账号仅一条 self(migration 40902);合盘只选 TA;账号昵称可改;首页穿衣/颜色/养生贴士。 Co-authored-by: Cursor <cursoragent@cursor.com>
56 lines
1.0 KiB
Go
56 lines
1.0 KiB
Go
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")
|
|
}
|
|
}
|