feat(Go-Tool):创建ArrayUtils测试类,修改对应方法

This commit is contained in:
huangzj
2020-05-07 09:10:54 +08:00
parent 62266cd26b
commit d448fbad5e
3 changed files with 144 additions and 67 deletions
+136 -36
View File
@@ -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,
})
}