项目文件夹

文件
wehub-resource-sync a06f331eb8
CI / benchmark (push) Has been skipped
install-script / posix-syntax (push) Successful in 6m1s
CI / build-onnx (push) Failing after 6m43s
init-smoke / dry-run (push) Failing after 15m57s
security / govulncheck (push) Has been cancelled
security / trivy-fs (push) Has been cancelled
CI / test (1.26, ubuntu-latest) (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
CI / test (1.26, macos-latest) (push) Has been cancelled
CI / build-windows (push) Has been cancelled
CI / lint (push) Has been cancelled
install-script / powershell-syntax (push) Has been cancelled
install-script / install (macos-14) (push) Has been cancelled
install-script / install (ubuntu-latest) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:33:42 +08:00

72 行
1.9 KiB
Go

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
package rerank
import "testing"
func TestIsSymbolQuery_PositiveCases(t *testing.T) {
cases := []string{
// CamelCase / PascalCase
"FooBar",
"validateToken",
"HTTPServer",
// snake_case
"validate_user_token",
"my_var",
// Namespace qualifiers
"pkg.Type",
"Module::Symbol",
"path/to/file.go",
"path\\to\\file",
// All-uppercase acronyms (length >= 2)
"URL",
"JWT",
"API",
}
for _, q := range cases {
if !IsSymbolQuery(q) {
t.Errorf("IsSymbolQuery(%q) = false, want true", q)
}
}
}
func TestIsSymbolQuery_NegativeCases(t *testing.T) {
cases := []string{
"",
" ",
"validate user token", // multi-word NL
"the user manager", // multi-word NL
"what does this do", // multi-word NL
"http server", // multi-word despite identifier-shaped tokens
"single", // single lowercase word — too ambiguous
"a", // single letter
"A", // single uppercase letter (still too ambiguous)
"42", // pure digits
"...", // pure punctuation
}
for _, q := range cases {
if IsSymbolQuery(q) {
t.Errorf("IsSymbolQuery(%q) = true, want false", q)
}
}
}
func TestAlphaFor_SymbolVsNL(t *testing.T) {
if got := AlphaFor("FooBar"); got != AlphaSymbol {
t.Errorf("AlphaFor(symbol) = %v, want %v", got, AlphaSymbol)
}
if got := AlphaFor("what does this do"); got != AlphaNL {
t.Errorf("AlphaFor(NL) = %v, want %v", got, AlphaNL)
}
// Empty falls through to NL — defensible default for nil queries.
if got := AlphaFor(""); got != AlphaNL {
t.Errorf("AlphaFor(empty) = %v, want %v", got, AlphaNL)
}
}
func TestAlphaSymbolLessThanAlphaNL(t *testing.T) {
// Sanity: symbol α MUST be smaller than NL α so the auto-blend
// actually leans toward BM25 for identifier queries.
if !(AlphaSymbol < AlphaNL) {
t.Fatalf("AlphaSymbol (%v) must be less than AlphaNL (%v)", AlphaSymbol, AlphaNL)
}
}