Skip to content

Commit b47d22e

Browse files
committed
Optimize test cases
1 parent 3803335 commit b47d22e

File tree

1 file changed

+70
-117
lines changed

1 file changed

+70
-117
lines changed

json_test.go

Lines changed: 70 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -12,58 +12,29 @@ type Person struct {
1212
Name string `json:"name"`
1313
Age int `json:"age"`
1414

15-
Birthday1 Carbon `json:"birthday1" carbon:"layout:2006-01-02 15:04:05"`
16-
Birthday2 Carbon `json:"birthday2" carbon:"layout:2006-01-02 15:04:05.999"`
17-
Birthday3 Carbon `json:"birthday3" carbon:"layout:2006-01-02 15:04:05.999999"`
18-
Birthday4 Carbon `json:"birthday4" carbon:"layout:2006-01-02 15:04:05.999999999"`
19-
20-
GraduatedAt1 Carbon `json:"graduated_at1" carbon:"layout:2006-01-02"`
21-
GraduatedAt2 Carbon `json:"graduated_at2" carbon:"layout:2006-01-02.999"`
22-
GraduatedAt3 Carbon `json:"graduated_at3" carbon:"layout:2006-01-02.999999"`
23-
GraduatedAt4 Carbon `json:"graduated_at4" carbon:"layout:2006-01-02.999999999"`
24-
25-
OperatedAt1 Carbon `json:"operated_at1" carbon:"layout:15:04:05"`
26-
OperatedAt2 Carbon `json:"operated_at2" carbon:"layout:15:04:05.999"`
27-
OperatedAt3 Carbon `json:"operated_at3" carbon:"layout:15:04:05.999999"`
28-
OperatedAt4 Carbon `json:"operated_at4" carbon:"layout:15:04:05.999999999"`
29-
30-
CreatedAt1 Carbon `json:"created_at1" carbon:"format:Y-m-d"`
31-
CreatedAt2 Carbon `json:"created_at2" carbon:"format:H:i:s"`
32-
CreatedAt3 Carbon `json:"created_at3" carbon:"format:Y-m-d H:i:s"`
33-
CreatedAt4 Carbon `json:"created_at4"`
34-
}
15+
Birthday0 Carbon `json:"birthday0"`
16+
17+
Birthday1 Carbon `json:"birthday1" carbon:"layout:2006-01-02"`
18+
Birthday2 Carbon `json:"birthday2" carbon:"layout:15:04:05"`
19+
Birthday3 Carbon `json:"birthday3" carbon:"layout:2006-01-02 15:04:05"`
3520

36-
type Student struct {
37-
Name string `json:"name"`
38-
Age int `json:"age"`
39-
Birthday Carbon `json:"birthday"`
21+
Birthday4 Carbon `json:"birthday4" carbon:"format:Y-m-d"`
22+
Birthday5 Carbon `json:"birthday5" carbon:"format:H:i:s"`
23+
Birthday6 Carbon `json:"birthday6" carbon:"format:Y-m-d H:i:s"`
4024
}
4125

4226
func TestCarbon_MarshalJSON_LoadTag(t *testing.T) {
4327
c := Parse("2020-08-05 13:14:15.999999999", PRC)
4428
person := Person{
45-
Name: "gouguoyin",
46-
Age: 18,
47-
29+
Name: "gouguoyin",
30+
Age: 18,
31+
Birthday0: c,
4832
Birthday1: c,
4933
Birthday2: c,
5034
Birthday3: c,
5135
Birthday4: c,
52-
53-
GraduatedAt1: c,
54-
GraduatedAt2: c,
55-
GraduatedAt3: c,
56-
GraduatedAt4: c,
57-
58-
OperatedAt1: c,
59-
OperatedAt2: c,
60-
OperatedAt3: c,
61-
OperatedAt4: c,
62-
63-
CreatedAt1: c,
64-
CreatedAt2: c,
65-
CreatedAt3: c,
66-
CreatedAt4: c,
36+
Birthday5: c,
37+
Birthday6: c,
6738
}
6839

6940
loadErr := LoadTag(&person)
@@ -72,64 +43,55 @@ func TestCarbon_MarshalJSON_LoadTag(t *testing.T) {
7243
data, marshalErr := json.Marshal(&person)
7344
assert.Nil(t, marshalErr)
7445

75-
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday1.String())
76-
assert.Equal(t, "2020-08-05 13:14:15.999", person.Birthday2.String())
77-
assert.Equal(t, "2020-08-05 13:14:15.999999", person.Birthday3.String())
78-
assert.Equal(t, "2020-08-05 13:14:15.999999999", person.Birthday4.String())
79-
80-
assert.Equal(t, "2020-08-05", person.GraduatedAt1.String())
81-
assert.Equal(t, "2020-08-05.999", person.GraduatedAt2.String())
82-
assert.Equal(t, "2020-08-05.999999", person.GraduatedAt3.String())
83-
assert.Equal(t, "2020-08-05.999999999", person.GraduatedAt4.String())
46+
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday0.String())
8447

85-
assert.Equal(t, "13:14:15", person.OperatedAt1.String())
86-
assert.Equal(t, "13:14:15.999", person.OperatedAt2.String())
87-
assert.Equal(t, "13:14:15.999999", person.OperatedAt3.String())
88-
assert.Equal(t, "13:14:15.999999999", person.OperatedAt4.String())
48+
assert.Equal(t, "2020-08-05", person.Birthday1.String())
49+
assert.Equal(t, "13:14:15", person.Birthday2.String())
50+
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday3.String())
8951

90-
assert.Equal(t, "2020-08-05", person.CreatedAt1.String())
91-
assert.Equal(t, "13:14:15", person.CreatedAt2.String())
92-
assert.Equal(t, "2020-08-05 13:14:15", person.CreatedAt3.String())
93-
assert.Equal(t, "2020-08-05 13:14:15", person.CreatedAt4.String())
52+
assert.Equal(t, "2020-08-05", person.Birthday4.String())
53+
assert.Equal(t, "13:14:15", person.Birthday5.String())
54+
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday6.String())
9455

9556
fmt.Printf("person output by json:\n%s\n", data)
9657
}
9758

9859
func TestCarbon_MarshalJSON_UnLoadTag(t *testing.T) {
9960
c := Parse("2020-08-05 13:14:15.999999999", PRC)
100-
student := Student{
101-
Name: "gouguoyin",
102-
Age: 18,
103-
Birthday: c,
61+
person := Person{
62+
Name: "gouguoyin",
63+
Age: 18,
64+
Birthday1: c,
65+
Birthday2: c,
66+
Birthday3: c,
67+
Birthday4: c,
68+
Birthday5: c,
69+
Birthday6: c,
10470
}
10571

106-
data, marshalErr := json.Marshal(&student)
72+
data, marshalErr := json.Marshal(&person)
10773
assert.Nil(t, marshalErr)
10874

109-
assert.Equal(t, "2020-08-05 13:14:15", student.Birthday.String())
75+
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday1.String())
76+
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday2.String())
77+
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday3.String())
78+
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday4.String())
79+
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday5.String())
80+
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday6.String())
11081
fmt.Printf("student output by json:\n%s\n", data)
11182
}
11283

11384
func TestCarbon_UnmarshalJSON_LoadTag(t *testing.T) {
11485
str := `{
115-
"name": "gouguoyin",
116-
"age": 18,
117-
"birthday1": "2020-08-05 13:14:15",
118-
"birthday2": "2020-08-05 13:14:15.999",
119-
"birthday3": "2020-08-05 13:14:15.999999",
120-
"birthday4": "2020-08-05 13:14:15.999999999",
121-
"graduated_at1": "2020-08-05",
122-
"graduated_at2": "2020-08-05.999",
123-
"graduated_at3": "2020-08-05.999999",
124-
"graduated_at4": "2020-08-05.999999999",
125-
"operated_at1": "13:14:15",
126-
"operated_at2": "13:14:15.999",
127-
"operated_at3": "13:14:15.999999",
128-
"operated_at4": "13:14:15.999999999",
129-
"created_at1": "2020-08-05",
130-
"created_at2": "13:14:15",
131-
"created_at3": "2020-08-05 13:14:15",
132-
"created_at4": "2020-08-05 13:14:15"
86+
"name":"gouguoyin",
87+
"age":18,
88+
"birthday0":"2020-08-05 13:14:15",
89+
"birthday1":"2020-08-05",
90+
"birthday2":"13:14:15",
91+
"birthday3":"2020-08-05 13:14:15",
92+
"birthday4":"2020-08-05",
93+
"birthday5":"13:14:15",
94+
"birthday6":"2020-08-05 13:14:15"
13395
}`
13496

13597
var person Person
@@ -140,60 +102,51 @@ func TestCarbon_UnmarshalJSON_LoadTag(t *testing.T) {
140102
unmarshalErr := json.Unmarshal([]byte(str), &person)
141103
assert.Nil(t, unmarshalErr)
142104

143-
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday1.String())
144-
assert.Equal(t, "2020-08-05 13:14:15.999", person.Birthday2.String())
145-
assert.Equal(t, "2020-08-05 13:14:15.999999", person.Birthday3.String())
146-
assert.Equal(t, "2020-08-05 13:14:15.999999999", person.Birthday4.String())
147-
148-
assert.Equal(t, "2020-08-05", person.GraduatedAt1.String())
149-
assert.Equal(t, "2020-08-05.999", person.GraduatedAt2.String())
150-
assert.Equal(t, "2020-08-05.999999", person.GraduatedAt3.String())
151-
assert.Equal(t, "2020-08-05.999999999", person.GraduatedAt4.String())
152-
153-
assert.Equal(t, "13:14:15", person.OperatedAt1.String())
154-
assert.Equal(t, "13:14:15.999", person.OperatedAt2.String())
155-
assert.Equal(t, "13:14:15.999999", person.OperatedAt3.String())
156-
assert.Equal(t, "13:14:15.999999999", person.OperatedAt4.String())
157-
158-
assert.Equal(t, "2020-08-05", person.CreatedAt1.String())
159-
assert.Equal(t, "13:14:15", person.CreatedAt2.String())
160-
assert.Equal(t, "2020-08-05 13:14:15", person.CreatedAt3.String())
105+
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday0.String())
106+
assert.Equal(t, "2020-08-05", person.Birthday1.String())
107+
assert.Equal(t, "13:14:15", person.Birthday2.String())
108+
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday3.String())
109+
assert.Equal(t, "2020-08-05", person.Birthday4.String())
110+
assert.Equal(t, "13:14:15", person.Birthday5.String())
111+
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday6.String())
161112

162113
fmt.Printf("Json string parse to person:\n%+v\n", person)
163114
}
164115

165116
func TestCarbon_UnmarshalJSON_UnLoadTag(t *testing.T) {
166117
str := `{
167-
"name": "gouguoyin",
168-
"age": 18,
169-
"birthday": "2020-08-05 13:14:15.999"
118+
"name":"gouguoyin",
119+
"age":18,
120+
"birthday0":"2020-08-05 13:14:15",
121+
"birthday1":"2020-08-05"
170122
}`
171123

172-
var student Student
173-
unmarshalErr := json.Unmarshal([]byte(str), &student)
124+
var person Person
125+
unmarshalErr := json.Unmarshal([]byte(str), &person)
174126
assert.Nil(t, unmarshalErr)
175127

176-
assert.Equal(t, "2020-08-05 13:14:15", student.Birthday.String())
177-
fmt.Printf("Json string parse to student:\n%+v\n", student)
128+
assert.Equal(t, "2020-08-05 13:14:15", person.Birthday0.String())
129+
assert.Equal(t, "2020-08-05 00:00:00", person.Birthday1.String())
130+
fmt.Printf("Json string parse to person:\n%+v\n", person)
178131
}
179132

180133
func TestError_JSON(t *testing.T) {
181-
student := Student{
182-
Name: "gouguoyin",
183-
Age: 18,
184-
Birthday: Parse("XXX"),
134+
person := Person{
135+
Name: "gouguoyin",
136+
Age: 18,
137+
Birthday1: Parse("XXX"),
185138
}
186139

187-
_, marshalErr := json.Marshal(student)
188-
fmt.Println("marshal error", marshalErr.Error())
140+
_, marshalErr := json.Marshal(person)
141+
fmt.Println("marshal error:", marshalErr.Error())
189142
assert.NotNil(t, marshalErr)
190143

191144
str := `{
192145
"name": "gouguoyin",
193146
"age": 18,
194-
"birthday": "2020-08-05 13:14:15.999"
147+
"birthday1": "2020-08-05 13:14:15"
195148
}`
196-
unmarshalErr := json.Unmarshal([]byte(str), &student)
197-
fmt.Println("unmarshal error", unmarshalErr.Error())
149+
unmarshalErr := json.Unmarshal([]byte(str), &person)
150+
fmt.Println("unmarshal error:", unmarshalErr.Error())
198151
assert.NotNil(t, unmarshalErr)
199152
}

0 commit comments

Comments
 (0)