1
0
mirror of https://github.com/sjwhitworth/golearn.git synced 2025-04-25 13:48:49 +08:00
golearn/clustering/cluster_extra_test.go
2018-06-16 22:11:59 +08:00

113 lines
2.2 KiB
Go

package clustering
import (
. "github.com/smartystreets/goconvey/convey"
"testing"
)
func Test(t *testing.T) {
Convey("Only m[0]", t, func() {
m1 := ClusterMap(make(map[int][]int))
m1[0] = []int{1, 2}
m2 := ClusterMap(make(map[int][]int))
m2[0] = []int{1, 2}
ret, err := m1.Equals(m2)
So(err, ShouldBeNil)
So(ret, ShouldBeTrue)
})
Convey("Nothing in m", t, func() {
m1 := ClusterMap(make(map[int][]int))
m2 := ClusterMap(make(map[int][]int))
ret, err := m1.Equals(m2)
So(err, ShouldBeNil)
So(ret, ShouldBeTrue)
})
Convey("Many elements in m", t, func() {
m1 := ClusterMap(make(map[int][]int))
m1[0] = []int{1, 2, 3, 4, 5}
m1[1] = []int{11, 12, 13, 14, 15}
m2 := ClusterMap(make(map[int][]int))
m2[0] = []int{1, 2, 3, 4, 5}
m2[1] = []int{11, 12, 13, 14, 15}
ret, err := m1.Equals(m2)
So(err, ShouldBeNil)
So(ret, ShouldBeTrue)
})
Convey("m[0] not the same", t, func() {
m1 := ClusterMap(make(map[int][]int))
m1[1] = []int{1, 2, 3}
m1[0] = []int{4, 5}
m2 := ClusterMap(make(map[int][]int))
m2[1] = []int{1, 2, 3}
m2[0] = []int{6, 5}
_, err := m1.Equals(m2)
So(err, ShouldNotBeNil)
})
Convey("m[0] size diff", t, func() {
m1 := ClusterMap(make(map[int][]int))
m1[1] = []int{1, 2, 3}
m1[0] = []int{4, 5}
m2 := ClusterMap(make(map[int][]int))
m2[1] = []int{1, 2, 3}
_, err := m1.Equals(m2)
So(err, ShouldNotBeNil)
})
Convey("m[1] size diff", t, func() {
m1 := ClusterMap(make(map[int][]int))
m1[1] = []int{1, 3}
m1[0] = []int{4, 5}
m2 := ClusterMap(make(map[int][]int))
m2[1] = []int{1, 2, 3}
m1[0] = []int{4, 5}
_, err := m1.Equals(m2)
So(err, ShouldNotBeNil)
})
Convey("m[1] duplicate", t, func() {
m1 := ClusterMap(make(map[int][]int))
m1[1] = []int{1, 1}
m1[0] = []int{4, 5}
m2 := ClusterMap(make(map[int][]int))
m1[1] = []int{1, 1}
m1[0] = []int{4, 5}
_, err := m1.Equals(m2)
So(err, ShouldNotBeNil)
})
Convey("m[0] duplicate", t, func() {
m1 := ClusterMap(make(map[int][]int))
m1[1] = []int{1, 2}
m1[0] = []int{4, 4}
m2 := ClusterMap(make(map[int][]int))
m1[1] = []int{1, 2}
m1[0] = []int{4, 4}
_, err := m1.Equals(m2)
So(err, ShouldNotBeNil)
})
}