This commit is contained in:
yml2213
2026-07-23 13:03:47 +08:00
commit 2a67d074a4
12 changed files with 999 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
package hfb
import "testing"
const sampleText = `上号方式:QQ扫码
哈夫币纯币:156
段位:铂金
等级:60
保险格数:9
每日消耗:10
体力:7
负重:7
AWM子弹数量:80
6头数量:13
6甲数量:12
皮肤:暗星
绝密KD0.2
押金:350
号主在线时间:11:00 至 00:00
封禁记录:无
常用地区:海南
回收比例:1:47.0
回收租金:332
联系电话:15203616450`
func TestParseUploadTextSample(t *testing.T) {
parsed, err := ParseUploadText(sampleText)
if err != nil {
t.Fatalf("ParseUploadText() error = %v", err)
}
account := parsed.Account
if account.LoginMethod != "QQ扫码" {
t.Fatalf("LoginMethod = %q", account.LoginMethod)
}
if account.Currency.HafuCoin != 156 {
t.Fatalf("HafuCoin = %v", account.Currency.HafuCoin)
}
if account.Currency.RecycleRatio != 47 {
t.Fatalf("RecycleRatio = %v", account.Currency.RecycleRatio)
}
if account.ContactPhone != "15203616450" {
t.Fatalf("ContactPhone = %q", account.ContactPhone)
}
if got := len(account.Inventory.Skins); got != 1 || account.Inventory.Skins[0] != "暗星" {
t.Fatalf("Skins = %#v", account.Inventory.Skins)
}
}
func TestParseUploadTextASCIIDelimiterKeepsRatioValue(t *testing.T) {
text := sampleText + "\n上传人:张三"
parsed, err := ParseUploadText(text)
if err != nil {
t.Fatalf("ParseUploadText() error = %v", err)
}
if parsed.UploaderName != "张三" {
t.Fatalf("UploaderName = %q", parsed.UploaderName)
}
if parsed.Account.Currency.RecycleRatio != 47 {
t.Fatalf("RecycleRatio = %v", parsed.Account.Currency.RecycleRatio)
}
}
func TestParseUploadTextMissingRequiredField(t *testing.T) {
_, err := ParseUploadText("上号方式:QQ扫码")
if err == nil {
t.Fatal("ParseUploadText() expected error")
}
}