mirror of
				https://gitee.com/dromara/mayfly-go
				synced 2025-11-04 16:30:25 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package collx
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
	"testing"
 | 
						|
)
 | 
						|
 | 
						|
func TestArrayCompare(t *testing.T) {
 | 
						|
	newArr := []any{1, 2, 3, 5}
 | 
						|
	oldArr := []any{3, 6}
 | 
						|
	add, del, unmodifier := ArrayCompare(newArr, oldArr)
 | 
						|
	fmt.Println(add...)
 | 
						|
	fmt.Println(del...)
 | 
						|
	fmt.Println(unmodifier...)
 | 
						|
}
 | 
						|
 | 
						|
type Student struct {
 | 
						|
	Id   uint64
 | 
						|
	Name string
 | 
						|
}
 | 
						|
 | 
						|
func TestArrayCompareStruct(t *testing.T) {
 | 
						|
	newArr := []Student{{Id: 1, Name: "1"}, {Id: 2, Name: "2"}, {Id: 3, Name: "3"}, {Id: 5, Name: "5"}}
 | 
						|
	oldArr := []Student{{Id: 3, Name: "3"}, {Id: 6, Name: "6"}}
 | 
						|
	add, del, unmodifier := ArrayCompare(newArr, oldArr)
 | 
						|
	fmt.Println(add)
 | 
						|
	fmt.Println(del)
 | 
						|
	fmt.Println(unmodifier)
 | 
						|
}
 | 
						|
 | 
						|
func TestArrayChunk(t *testing.T) {
 | 
						|
	arr := []int{1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
 | 
						|
	res := ArrayChunk[int](arr, 3)
 | 
						|
	fmt.Println(res)
 | 
						|
}
 | 
						|
 | 
						|
func TestArraySplit(t *testing.T) {
 | 
						|
	// arr := []int{1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
 | 
						|
	arr := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
 | 
						|
	// arr := []int{1, 2, 3}
 | 
						|
	res := ArraySplit(arr, 10)
 | 
						|
	fmt.Println(res)
 | 
						|
}
 | 
						|
 | 
						|
func TestArrayReduce(t *testing.T) {
 | 
						|
	arr := []int{1, 2, 3, 5}
 | 
						|
	res := ArrayReduce[int, int](arr, 0, func(i1, i2 int) int { return i1 + i2 })
 | 
						|
	fmt.Println(res)
 | 
						|
}
 |