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: "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000522545459", }, a: ans{ one: math.MaxInt32, }, }, 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) } }