feat(Go-Tool):创建ArrayUtils测试类,修改对应方法
This commit is contained in:
+136
-36
@@ -7,51 +7,151 @@
|
||||
package array
|
||||
|
||||
import (
|
||||
"Go-Tool/util/array"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
type MM struct {
|
||||
a int
|
||||
b string
|
||||
n NN
|
||||
A int
|
||||
B string
|
||||
N NN
|
||||
}
|
||||
|
||||
type NN struct {
|
||||
a int
|
||||
b float64
|
||||
A int
|
||||
B float64
|
||||
}
|
||||
|
||||
func TestArray(t *testing.T) {
|
||||
n := NN{
|
||||
a: 12,
|
||||
b: 2.22,
|
||||
}
|
||||
n1 := NN{
|
||||
a: 12,
|
||||
b: 2.22,
|
||||
}
|
||||
n2 := NN{
|
||||
a: 12,
|
||||
b: 2.212,
|
||||
}
|
||||
x := MM{
|
||||
a: 1,
|
||||
b: "1",
|
||||
n: n,
|
||||
}
|
||||
y := MM{
|
||||
a: 1,
|
||||
b: "1",
|
||||
n: n1,
|
||||
}
|
||||
z := MM{
|
||||
a: 1,
|
||||
b: "1",
|
||||
n: n2,
|
||||
}
|
||||
var (
|
||||
mm []interface{}
|
||||
mm1 []interface{}
|
||||
mm2 []interface{}
|
||||
nn []interface{}
|
||||
nn1 []interface{}
|
||||
)
|
||||
|
||||
func TestBool(t *testing.T) {
|
||||
fmt.Print("\n\nContains\n\n")
|
||||
fmt.Println(array.Contains(mm, mm))
|
||||
fmt.Println(array.Contains(mm, mm1))
|
||||
fmt.Println(array.Contains(mm, MM{
|
||||
A: 1,
|
||||
B: "2",
|
||||
}))
|
||||
fmt.Print("\n\nNotContains\n\n")
|
||||
fmt.Println(array.NotContains(mm, mm))
|
||||
fmt.Println(array.NotContains(mm, mm1))
|
||||
fmt.Println(array.NotContains(mm, MM{
|
||||
A: 1,
|
||||
B: "2",
|
||||
}))
|
||||
fmt.Print("\n\nIsSameList\n\n")
|
||||
fmt.Println(array.IsSameList(mm, mm))
|
||||
fmt.Println(array.IsSameList(mm, nn1))
|
||||
fmt.Println(array.IsSameList(mm, mm2))
|
||||
fmt.Println(array.IsSameList(mm, nn))
|
||||
|
||||
fmt.Print("\n\nIsSubSet\n\n")
|
||||
fmt.Println(array.IsSubSet(mm, mm))
|
||||
fmt.Println(array.IsSubSet(mm, mm1))
|
||||
fmt.Println(array.IsSubSet(mm, mm2))
|
||||
fmt.Println(array.IsSubSet(mm, nn))
|
||||
|
||||
fmt.Print(x == y)
|
||||
fmt.Print("\n\n测试一下")
|
||||
fmt.Print(x == z)
|
||||
}
|
||||
|
||||
func TestJoin(t *testing.T) {
|
||||
fmt.Print("\n\nmm-nn\n\n")
|
||||
intersection(mm, nn)
|
||||
fmt.Print("\n\nmm-mm\n\n")
|
||||
intersection(mm, mm)
|
||||
fmt.Print("\n\nmm-mm1\n\n")
|
||||
intersection(mm, mm1)
|
||||
fmt.Print("\n\nmm-mm2\n\n")
|
||||
intersection(mm, mm2)
|
||||
|
||||
fmt.Print("\n\ndiff\n\n")
|
||||
diffSet(mm, nn)
|
||||
fmt.Print("\n\n\n\n")
|
||||
diffSet(mm, mm)
|
||||
fmt.Print("\n\n\n\n")
|
||||
diffSet(mm, mm1)
|
||||
fmt.Print("\n\n\n\n")
|
||||
diffSet(mm, mm2)
|
||||
|
||||
fmt.Print("\n\nunion\n\n")
|
||||
union(mm, nn)
|
||||
fmt.Print("\n\n\n\n")
|
||||
union(mm, mm)
|
||||
fmt.Print("\n\n\n\n")
|
||||
union(mm, mm1)
|
||||
fmt.Print("\n\n\n\n")
|
||||
union(mm, mm2)
|
||||
}
|
||||
|
||||
func intersection(mm, nn []interface{}) {
|
||||
i1 := array.Intersection(mm, nn)
|
||||
for _, row := range i1 {
|
||||
b, err := json.Marshal(row)
|
||||
fmt.Println(err)
|
||||
fmt.Print(string(b))
|
||||
}
|
||||
}
|
||||
|
||||
func diffSet(mm, nn []interface{}) {
|
||||
i1 := array.DiffSet(mm, nn)
|
||||
for _, row := range i1 {
|
||||
b, _ := json.Marshal(row)
|
||||
fmt.Print(string(b))
|
||||
}
|
||||
}
|
||||
|
||||
func union(mm, nn []interface{}) {
|
||||
i1 := array.Union(mm, nn)
|
||||
for _, row := range i1 {
|
||||
b, _ := json.Marshal(row)
|
||||
fmt.Print(string(b))
|
||||
}
|
||||
}
|
||||
|
||||
func init() {
|
||||
mm = make([]interface{}, 0)
|
||||
mm1 = make([]interface{}, 0)
|
||||
nn = make([]interface{}, 0)
|
||||
nn1 = make([]interface{}, 0)
|
||||
mm = append(mm, MM{
|
||||
A: 1,
|
||||
B: "1",
|
||||
})
|
||||
mm = append(mm, MM{
|
||||
A: 1,
|
||||
B: "2",
|
||||
})
|
||||
mm1 = append(mm1, MM{
|
||||
A: 1,
|
||||
B: "2",
|
||||
})
|
||||
mm2 = append(mm2, MM{
|
||||
A: 1,
|
||||
B: "2",
|
||||
})
|
||||
mm2 = append(mm2, MM{
|
||||
A: 1,
|
||||
B: "3",
|
||||
})
|
||||
|
||||
nn = append(nn, NN{
|
||||
B: 1.2,
|
||||
A: 1,
|
||||
})
|
||||
nn = append(nn, NN{
|
||||
B: 2.9,
|
||||
A: 20,
|
||||
})
|
||||
|
||||
nn1 = append(nn1, NN{
|
||||
A: 30,
|
||||
B: 2.2,
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user