320 lines
8.3 KiB
Go
320 lines
8.3 KiB
Go
package utils
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestIntToString(t *testing.T) {
|
|
expectedValue := "-123456789"
|
|
actualValue := IntToString(-123456789)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
}
|
|
|
|
func TestStringToInt(t *testing.T) {
|
|
expectedValue := -123456789
|
|
actualValue, err := StringToInt("-123456789")
|
|
assert.Equal(t, nil, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
}
|
|
|
|
func TestStringToInt_InvalidNumber(t *testing.T) {
|
|
_, err := StringToInt("")
|
|
assert.NotEqual(t, nil, err)
|
|
|
|
_, err = StringToInt("null")
|
|
assert.NotEqual(t, nil, err)
|
|
}
|
|
|
|
func TestStringToInt32(t *testing.T) {
|
|
expectedValue := int32(-123456789)
|
|
actualValue, err := StringToInt32("-123456789")
|
|
assert.Equal(t, nil, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
}
|
|
|
|
func TestStringToInt32_OutOfRange(t *testing.T) {
|
|
_, err := StringToInt32("2147483648")
|
|
assert.NotEqual(t, nil, err)
|
|
|
|
_, err = StringToInt32("-2147483649")
|
|
assert.NotEqual(t, nil, err)
|
|
}
|
|
|
|
func TestStringToInt32_InvalidNumber(t *testing.T) {
|
|
_, err := StringToInt32("")
|
|
assert.NotEqual(t, nil, err)
|
|
|
|
_, err = StringToInt32("null")
|
|
assert.NotEqual(t, nil, err)
|
|
}
|
|
|
|
func TestStringTryToInt32_InvalidNumber(t *testing.T) {
|
|
expectedValue := -1
|
|
actualValue := StringTryToInt("", -1)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
actualValue = StringTryToInt("null", -1)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
}
|
|
|
|
func TestInt64ToString(t *testing.T) {
|
|
expectedValue := "-123456789012345"
|
|
actualValue := Int64ToString(-123456789012345)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
}
|
|
|
|
func TestInt64ArrayToStringArray(t *testing.T) {
|
|
expectedValue := []string{"0", "1", "-123456789012345", "12345678", "1234567890123456"}
|
|
actualValue := Int64ArrayToStringArray([]int64{0, 1, -123456789012345, 12345678, 1234567890123456})
|
|
assert.EqualValues(t, expectedValue, actualValue)
|
|
}
|
|
|
|
func TestStringToInt64(t *testing.T) {
|
|
expectedValue := int64(-123456789012345)
|
|
actualValue, err := StringToInt64("-123456789012345")
|
|
assert.Equal(t, nil, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
}
|
|
|
|
func TestStringToInt64_InvalidNumber(t *testing.T) {
|
|
_, err := StringToInt64("")
|
|
assert.NotEqual(t, nil, err)
|
|
|
|
_, err = StringToInt64("null")
|
|
assert.NotEqual(t, nil, err)
|
|
}
|
|
|
|
func TestStringArrayToInt64Array(t *testing.T) {
|
|
expectedValue := []int64{0, 1, -123456789012345, 12345678, 1234567890123456}
|
|
actualValue, err := StringArrayToInt64Array([]string{"0", "1", "-123456789012345", "12345678", "1234567890123456"})
|
|
assert.Equal(t, nil, err)
|
|
assert.EqualValues(t, expectedValue, actualValue)
|
|
}
|
|
|
|
func TestStringArrayToInt64Array_InvalidNumber(t *testing.T) {
|
|
_, err := StringArrayToInt64Array([]string{"0", "1", "", "12345678", "1234567890123456"})
|
|
assert.NotEqual(t, nil, err)
|
|
|
|
_, err = StringArrayToInt64Array([]string{"0", "1", "null", "12345678", "1234567890123456"})
|
|
assert.NotEqual(t, nil, err)
|
|
}
|
|
|
|
func TestStringTryToInt64_InvalidNumber(t *testing.T) {
|
|
expectedValue := int64(-1)
|
|
actualValue := StringTryToInt64("", -1)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
actualValue = StringTryToInt64("null", -1)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
}
|
|
|
|
func TestFloat64ToString(t *testing.T) {
|
|
expectedValue := "-123456789.123456"
|
|
actualValue := Float64ToString(-123456789.123456)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
}
|
|
|
|
func TestStringToFloat64(t *testing.T) {
|
|
expectedValue := -123456789.123456
|
|
actualValue, err := StringToFloat64("-123456789.123456")
|
|
assert.Equal(t, nil, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
}
|
|
|
|
func TestFormatAmount(t *testing.T) {
|
|
expectedValue := "0.00"
|
|
actualValue := FormatAmount(0)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = "0.00"
|
|
actualValue = FormatAmount(-0)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = "0.01"
|
|
actualValue = FormatAmount(1)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = "-0.01"
|
|
actualValue = FormatAmount(-1)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = "0.10"
|
|
actualValue = FormatAmount(10)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = "-0.10"
|
|
actualValue = FormatAmount(-10)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = "0.12"
|
|
actualValue = FormatAmount(12)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = "-0.12"
|
|
actualValue = FormatAmount(-12)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = "1.23"
|
|
actualValue = FormatAmount(123)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = "-1.23"
|
|
actualValue = FormatAmount(-123)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = "12.34"
|
|
actualValue = FormatAmount(1234)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = "-12.34"
|
|
actualValue = FormatAmount(-1234)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
}
|
|
|
|
func TestParseAmount(t *testing.T) {
|
|
expectedValue := int64(0)
|
|
actualValue, err := ParseAmount("")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(0)
|
|
actualValue, err = ParseAmount("0")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(0)
|
|
actualValue, err = ParseAmount("-0")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(0)
|
|
actualValue, err = ParseAmount("0.00")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(0)
|
|
actualValue, err = ParseAmount("-0.00")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(1)
|
|
actualValue, err = ParseAmount("0.01")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(-1)
|
|
actualValue, err = ParseAmount("-0.01")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(10)
|
|
actualValue, err = ParseAmount("0.10")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(-10)
|
|
actualValue, err = ParseAmount("-0.10")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(10)
|
|
actualValue, err = ParseAmount("0.1")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(-10)
|
|
actualValue, err = ParseAmount("-0.1")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(12)
|
|
actualValue, err = ParseAmount("0.12")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(-12)
|
|
actualValue, err = ParseAmount("-0.12")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(100)
|
|
actualValue, err = ParseAmount("1")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(-100)
|
|
actualValue, err = ParseAmount("-1")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(120)
|
|
actualValue, err = ParseAmount("1.2")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(-120)
|
|
actualValue, err = ParseAmount("-1.2")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(123)
|
|
actualValue, err = ParseAmount("1.23")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(-123)
|
|
actualValue, err = ParseAmount("-1.23")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(1234)
|
|
actualValue, err = ParseAmount("12.34")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(-1234)
|
|
actualValue, err = ParseAmount("-12.34")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(0)
|
|
actualValue, err = ParseAmount("+0")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(12)
|
|
actualValue, err = ParseAmount("+0.12")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
|
|
expectedValue = int64(1234)
|
|
actualValue, err = ParseAmount("+12.34")
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, expectedValue, actualValue)
|
|
}
|
|
|
|
func TestParseAmount_InvalidAmount(t *testing.T) {
|
|
_, err := ParseAmount("-")
|
|
assert.NotNil(t, err)
|
|
|
|
_, err = ParseAmount("--1")
|
|
assert.NotNil(t, err)
|
|
|
|
_, err = ParseAmount("-.-1")
|
|
assert.NotNil(t, err)
|
|
|
|
_, err = ParseAmount("0.-")
|
|
assert.NotNil(t, err)
|
|
|
|
_, err = ParseAmount("0.-1")
|
|
assert.NotNil(t, err)
|
|
|
|
_, err = ParseAmount("1.2.3")
|
|
assert.NotNil(t, err)
|
|
|
|
_, err = ParseAmount("1.234")
|
|
assert.NotNil(t, err)
|
|
}
|