-
Notifications
You must be signed in to change notification settings - Fork 0
/
ver_test.go
60 lines (50 loc) · 1.32 KB
/
ver_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// ------------------
// User: pei
// DateTime: 2019/12/2 10:22
// Description:
// ------------------
package gzu
import (
"encoding/base64"
"encoding/json"
"fmt"
"log"
"strconv"
"testing"
)
func TestVerToInt64(t *testing.T) {
log.SetFlags(11)
log.Println(VerToInt64("v0x01"))
log.Println(VerToInt64("v1.3.2"))
log.Println(VerFromInt64(281487861612546))
log.Println(VerToInt64("2019.12.1"))
x, _ := VerToInt64("2019.12.1.1212")
log.Println(x, x.String4())
log.Println(VerFromInt64(Ver20191201), Ver20191201.Major(), Ver20191201.Minor(), Ver20191201.Build())
log.Println(VerFromInt64(568297982273782972))
}
func TestIsVerBiggerThan(t *testing.T) {
log.Println(strconv.FormatFloat(float64(12121212213)/100, 'f', 1, 64))
log.Println(strconv.FormatFloat(float64(12121212213)/100, 'f', 2, 64))
}
func TestBasicTypeName(t *testing.T) {
type MyObj struct {
S string
B []byte
I int
}
o := MyObj{S:"hello", B:[]byte("world"), I: 17}
b, err := json.Marshal(o)
if err != nil{
t.Fatal(err)
}
fmt.Println(base64.StdEncoding.EncodeToString(o.B))
fmt.Println(string(b))
fmt.Println(base64.StdEncoding.EncodeToString(b))
var x struct {
B string
}
err = json.Unmarshal([]byte(`{"B":"\b\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b"}`), &x)
fmt.Println(x)
/// \\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b
}