goProject/trunk/goutil/stringUtil/transform_test.go
皮蛋13361098506 1b77f62820 初始化项目
2025-01-06 16:01:02 +08:00

260 lines
6.1 KiB
Go

package stringUtil
import (
"testing"
)
func TestStringToMap_String_String(t *testing.T) {
str := ""
seps := []string{",", "|"}
data, err := StringToMap_String_String(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|3"
data, err = StringToMap_String_String(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|3,5"
data, err = StringToMap_String_String(str, seps)
if err != nil {
t.Errorf("Expected to get no error. But now there is one:%v.", err)
return
}
expected := make(map[string]string, 2)
expected["1"] = "2"
expected["3"] = "5"
if len(expected) != len(data) {
t.Errorf("The length of expected:%d is not equals to length of data:%d", len(expected), len(data))
return
}
for k, v := range data {
if v1, exists := expected[k]; !exists {
t.Errorf("data is not equals to expected. %v, %v", expected, data)
} else if v != v1 {
t.Errorf("data is not equals to expected. %v, %v", expected, data)
}
}
}
func TestStringToMap_String_Int(t *testing.T) {
str := ""
seps := []string{",", "|"}
data, err := StringToMap_String_Int(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|3"
data, err = StringToMap_String_Int(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|3,abc"
data, err = StringToMap_String_Int(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|3,5"
data, err = StringToMap_String_Int(str, seps)
if err != nil {
t.Errorf("Expected to get no error. But now there is one:%v.", err)
return
}
expected := make(map[string]int, 2)
expected["1"] = 2
expected["3"] = 5
if len(expected) != len(data) {
t.Errorf("The length of expected:%d is not equals to length of data:%d", len(expected), len(data))
return
}
for k, v := range data {
if v1, exists := expected[k]; !exists {
t.Errorf("data is not equals to expected. %v, %v", expected, data)
} else if v != v1 {
t.Errorf("data is not equals to expected. %v, %v", expected, data)
}
}
}
func TestStringToMap_Int_Int(t *testing.T) {
str := ""
seps := []string{",", "|"}
data, err := StringToMap_Int_Int(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|3"
data, err = StringToMap_Int_Int(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|3,abc"
data, err = StringToMap_Int_Int(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|a,3"
data, err = StringToMap_Int_Int(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|3,5"
data, err = StringToMap_Int_Int(str, seps)
if err != nil {
t.Errorf("Expected to get no error. But now there is one:%v.", err)
return
}
expected := make(map[int]int, 2)
expected[1] = 2
expected[3] = 5
if len(expected) != len(data) {
t.Errorf("The length of expected:%d is not equals to length of data:%d", len(expected), len(data))
return
}
for k, v := range data {
if v1, exists := expected[k]; !exists {
t.Errorf("data is not equals to expected. %v, %v", expected, data)
} else if v != v1 {
t.Errorf("data is not equals to expected. %v, %v", expected, data)
}
}
}
func TestStringToMap_Int32_Int32(t *testing.T) {
str := ""
seps := []string{",", "|"}
data, err := StringToMap_Int32_Int32(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|3"
data, err = StringToMap_Int32_Int32(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|3,abc"
data, err = StringToMap_Int32_Int32(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|a,3"
data, err = StringToMap_Int32_Int32(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|3,5"
data, err = StringToMap_Int32_Int32(str, seps)
if err != nil {
t.Errorf("Expected to get no error. But now there is one:%v.", err)
return
}
expected := make(map[int32]int32, 2)
expected[1] = 2
expected[3] = 5
if len(expected) != len(data) {
t.Errorf("The length of expected:%d is not equals to length of data:%d", len(expected), len(data))
return
}
for k, v := range data {
if v1, exists := expected[k]; !exists {
t.Errorf("data is not equals to expected. %v, %v", expected, data)
} else if v != v1 {
t.Errorf("data is not equals to expected. %v, %v", expected, data)
}
}
}
func TestStringToMap_Int32_Int64(t *testing.T) {
str := ""
seps := []string{",", "|"}
data, err := StringToMap_Int32_Int64(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|3"
data, err = StringToMap_Int32_Int64(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|3,abc"
data, err = StringToMap_Int32_Int64(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,2|a,3"
data, err = StringToMap_Int32_Int64(str, seps)
if err == nil {
t.Errorf("Expected to get an error. But now there isn't.")
return
}
str = "1,36524569852|3,365245698521"
data, err = StringToMap_Int32_Int64(str, seps)
if err != nil {
t.Errorf("Expected to get no error. But now there is one:%v.", err)
return
}
expected := make(map[int32]int64, 2)
expected[1] = 36524569852
expected[3] = 365245698521
if len(expected) != len(data) {
t.Errorf("The length of expected:%d is not equals to length of data:%d", len(expected), len(data))
return
}
for k, v := range data {
if v1, exists := expected[k]; !exists {
t.Errorf("data is not equals to expected. %v, %v", expected, data)
} else if v != v1 {
t.Errorf("data is not equals to expected. %v, %v", expected, data)
}
}
}