Files
go-easy-utils/sliceUtil/merge_slice_test.go
jeffery 9a8c60b30a Feature/generic type (#19)
Supports generics and any
2023-04-07 19:21:05 +08:00

161 lines
3.9 KiB
Go

package sliceUtil
import (
"reflect"
"testing"
)
// 测试MergeSlices
func TestMergeSlices(t *testing.T) {
slice1 := []any{1, 2, 3}
slice2 := []any{4, 5, 6}
slice3 := []any{7, 8, 9}
expected := []any{1, 2, 3, 4, 5, 6, 7, 8, 9}
result := MergeSlice(slice1, slice2, slice3)
if !reflect.DeepEqual(result, expected) {
t.Errorf("Expected %v, but got %v", expected, result)
}
}
// 测试MergeStrSlices
func TestMergeStrSlices(t *testing.T) {
slice1 := []string{"a", "b", "c"}
slice2 := []string{"d", "e", "f"}
slice3 := []string{"g", "h", "i"}
expected := []string{"a", "b", "c", "d", "e", "f", "g", "h", "i"}
result := MergeSlice(slice1, slice2, slice3)
if !reflect.DeepEqual(result, expected) {
t.Errorf("Expected %v, but got %v", expected, result)
}
}
func TestMergeIntSlices(t *testing.T) {
slice1 := []int{1, 2, 3}
slice2 := []int{4, 5, 6}
slice3 := []int{7, 8, 9}
expected := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
result := MergeSlice(slice1, slice2, slice3)
if !reflect.DeepEqual(result, expected) {
t.Errorf("Expected %v but got %v", expected, result)
}
}
func TestMergeInt8Slices(t *testing.T) {
slice1 := []int8{1, 2, 3}
slice2 := []int8{4, 5, 6}
slice3 := []int8{7, 8, 9}
expected := []int8{1, 2, 3, 4, 5, 6, 7, 8, 9}
result := MergeSlice(slice1, slice2, slice3)
if !reflect.DeepEqual(result, expected) {
t.Errorf("Expected %v but got %v", expected, result)
}
}
func TestMergeInt16Slices(t *testing.T) {
slice1 := []int16{1, 2, 3}
slice2 := []int16{4, 5, 6}
slice3 := []int16{7, 8, 9}
expected := []int16{1, 2, 3, 4, 5, 6, 7, 8, 9}
result := MergeSlice(slice1, slice2, slice3)
if !reflect.DeepEqual(result, expected) {
t.Errorf("Expected %v but got %v", expected, result)
}
}
func TestMergeInt32Slices(t *testing.T) {
slice1 := []int32{1, 2, 3}
slice2 := []int32{4, 5, 6}
slice3 := []int32{7, 8, 9}
expected := []int32{1, 2, 3, 4, 5, 6, 7, 8, 9}
result := MergeSlice(slice1, slice2, slice3)
if !reflect.DeepEqual(result, expected) {
t.Errorf("Expected %v but got %v", expected, result)
}
}
func TestMergeInt64Slices(t *testing.T) {
slice1 := []int64{1, 2, 3}
slice2 := []int64{4, 5, 6}
slice3 := []int64{7, 8, 9}
expected := []int64{1, 2, 3, 4, 5, 6, 7, 8, 9}
result := MergeSlice(slice1, slice2, slice3)
if !reflect.DeepEqual(result, expected) {
t.Errorf("Expected %v but got %v", expected, result)
}
}
func TestMergeUintSlices(t *testing.T) {
slice1 := []uint{1, 2, 3}
slice2 := []uint{4, 5, 6}
slice3 := []uint{7, 8, 9}
expected := []uint{1, 2, 3, 4, 5, 6, 7, 8, 9}
result := MergeSlice(slice1, slice2, slice3)
if !reflect.DeepEqual(result, expected) {
t.Errorf("Expected %v but got %v", expected, result)
}
}
func TestMergeUint8Slices(t *testing.T) {
slice1 := []uint8{1, 2, 3}
slice2 := []uint8{4, 5, 6}
slice3 := []uint8{7, 8, 9}
expected := []uint8{1, 2, 3, 4, 5, 6, 7, 8, 9}
result := MergeSlice(slice1, slice2, slice3)
if !reflect.DeepEqual(result, expected) {
t.Errorf("Expected %v but got %v", expected, result)
}
}
func TestMergeUint16Slices(t *testing.T) {
slice1 := []uint16{1, 2, 3}
slice2 := []uint16{4, 5, 6}
slice3 := []uint16{7, 8, 9}
expected := []uint16{1, 2, 3, 4, 5, 6, 7, 8, 9}
result := MergeSlice(slice1, slice2, slice3)
if !reflect.DeepEqual(result, expected) {
t.Errorf("Expected %v but got %v", expected, result)
}
}
func TestMergeUint32Slices(t *testing.T) {
slice1 := []uint32{1, 2, 3}
slice2 := []uint32{4, 5, 6}
slice3 := []uint32{7, 8, 9}
expected := []uint32{1, 2, 3, 4, 5, 6, 7, 8, 9}
result := MergeSlice(slice1, slice2, slice3)
if !reflect.DeepEqual(result, expected) {
t.Errorf("Expected %v but got %v", expected, result)
}
}
func TestMergeUint64Slices(t *testing.T) {
slice1 := []uint64{1, 2, 3}
slice2 := []uint64{4, 5, 6}
slice3 := []uint64{7, 8, 9}
expected := []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9}
result := MergeSlice(slice1, slice2, slice3)
if !reflect.DeepEqual(result, expected) {
t.Errorf("Expected %v but got %v", expected, result)
}
}