-
Notifications
You must be signed in to change notification settings - Fork 549
/
Copy pathstring-to-integer-atoi_test.go
executable file
·122 lines (113 loc) · 2.39 KB
/
string-to-integer-atoi_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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
package Problem0008
import (
"testing"
"math"
"github.com/stretchr/testify/assert"
)
type para struct {
one string
}
type ans struct {
one int
}
type question struct {
p para
a ans
}
func Test_OK(t *testing.T) {
ast := assert.New(t)
qs := []question{
question{
p: para{
one: "123",
},
a: ans{
one: 123,
},
},
question{
p: para{
one: "-123",
},
a: ans{
one: -123,
},
},
question{
p: para{
one: "2147483648",
},
a: ans{
one: math.MaxInt32,
},
},
question{
p: para{
one: "-2147483649",
},
a: ans{
one: math.MinInt32,
},
},
question{
p: para{
one: " 1234a6789",
},
a: ans{
one: 1234,
},
},
question{
p: para{
one: " -0012a42 ",
},
a: ans{
one: -12,
},
},
question{
p: para{
one: " asdfdfs ",
},
a: ans{
one: 0,
},
},
question{
p: para{
one: "",
},
a: ans{
one: 0,
},
},
question{
p: para{
one: " +1 ",
},
a: ans{
one: 1,
},
},
question{
p: para{
one: "-",
},
a: ans{
one: 0,
},
},
question{
p: para{
one: "922337999995452345782348957234895793875923845789234758923745987239485798345789237598235980234859023849058349058903890869059068490683490869038690385690385906839056890548690586904568905468905908590839056890345869034856903568903854690835906834906839045869034869034568903458690356903569056908345906839056890586903546890345869034568903586905689054685690905689035468905689056890879056907890879086903548690387905469054690890689035869038569034856908356908345906890345869056890356890358690569083546908549086905690345869038569034569083590689058690385690358690586908345906839086390689056903869058690345869038690586908569054690834590689054869083569035490689035689058690586905409689086905869038569083549068390468903586903569038549068905869054690345906890346904856903546908345906890568903569054690590685906905689058690586905869056890869035869035890789068790907903890835657428975457575789075098759084752897589475029847589047589234759028475902847592834752908759827589725987517891598715908749871908579841790817598715901875901874190879085791879018571897491837249874987235987589734897123489712390847913857190287549018735902036854775809",
},
a: ans{
one: math.MaxInt32,
},
},
}
for _, q := range qs {
a, p := q.a, q.p
ast.Equal(a.one, myAtoi(p.one), "输入:%v", p)
}
}