jsonpack/jsonpack_test.go

87 lines
1.8 KiB
Go
Raw Permalink Normal View History

2023-04-15 00:06:52 +08:00
package jsonpack
import (
"fmt"
"testing"
)
func TestAstEncode(t *testing.T) {
a := "1+2|3^4%5"
b := "1%2B2%7C3%5E4%255"
b1 := astEncode(a)
if b == b1 {
t.Logf("输入=>%s, 输出=>%s", a, b)
} else {
t.Fatalf("输入=>%s, 预计输出=>%s, 实际输出=>%s", a, b, b1)
}
t.Log("done")
}
func TestAstDecode(t *testing.T) {
a := "1%2B2%7C3%5E4%255"
b := "1+2|3^4%5"
b1 := astDecode(a)
if b == b1 {
t.Logf("输入=>%s, 输出=>%s", a, b)
} else {
t.Fatalf("输入=>%s, 预计输出=>%s, 实际输出=>%s", a, b, b1)
}
t.Log("done")
}
func TestAstBase10to36(t *testing.T) {
a := 65036
b := "1e6k"
b1 := astBase10to36(a)
if b == b1 {
t.Logf("输入(10)=>%d, 输出(36)=>%s", a, b)
} else {
t.Fatalf("输入(10)=>%d, 输出(36)=>%s", a, b1)
}
t.Log("done")
}
func TestAstBase36to10(t *testing.T) {
a := "1e6k"
b := 65036
b1 := astBase36to10(a)
if b == b1 {
t.Logf("输入(36)=>%s, 输出(10)=>%d", a, b)
} else {
t.Fatalf("输入(36)=>%s, 输出(10)=>%d", a, b1)
}
t.Log("done")
}
func TestPack(t *testing.T) {
a := map[string]string{"France": "Paris", "Italy": "Rome", "Japan": "Tokyo", "India": "New delhi"}
a1 := []any{"France2", "France1", "1", nil, 123, 123.2222, -15555, -1.2, false, true, a}
b := "France2|France1|1|France|Paris|Italy|Rome|Japan|Tokyo|India|New+delhi^3f|-c03^123.2222|-1.2^@0|1|2|b|d|c|e|-2|-1|$3|4|5|6|7|8|9|a]]"
b1, _ := Pack(a1)
if b == b1 {
t.Logf("\n 输入=>%s \n 输出=>%s", a1, b)
} else {
t.Fatalf("\n 输入=>%s \n 预计输出=>%s \n 实际输出=>%s", a1, b, b1)
}
t.Log("done")
}
func TestUnpack(t *testing.T) {
a := "Fran\"ce2|Franc什么e1|1|France|Pa:ris|Italy|Rome|Japan|Tokyo|India|New+delhi^3f|-c03^123.2222|-1.2^@0|1|2|b|d|c|e|-2|-1|$3|4|5|6|7|8|9|a]]"
b, _ := Unpack(a)
// fmt.Sprintf("类型: %T, 内容: %+v", b, b)
t.Logf(b)
}