You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
895 B

package atoi_test
import (
"testing"
"git.jxs.me/leetgo/atoi"
"github.com/stretchr/testify/require"
)
func TestEmpty(t *testing.T) {
require.Equal(t, 0, atoi.Convert(""))
}
func TestSingle(t *testing.T) {
require.Equal(t, 7, atoi.Convert("7"))
}
func TestExample1(t *testing.T) {
require.Equal(t, 42, atoi.Convert("42"))
}
func TestExample2(t *testing.T) {
require.Equal(t, -42, atoi.Convert(" -42"))
}
func TestExample3(t *testing.T) {
require.Equal(t, 4193, atoi.Convert("4193 with words"))
}
func TestZeroPrefix(t *testing.T) {
require.Equal(t, 101, atoi.Convert("+00101"))
}
func TestOverflow(t *testing.T) {
require.Equal(t, -2147483648, atoi.Convert("-91283472332"))
}
func TestHuge(t *testing.T) {
require.Equal(t, 2147483647, atoi.Convert("20000000000000000000"))
}
func TestPad(t *testing.T) {
require.Equal(t, 12345678, atoi.Convert(" 0000000000012345678"))
}