add more test for subset
This commit is contained in:
@@ -150,7 +150,7 @@ go-zero是一个集成了各种工程实践的包含web和rpc框架,有如下
|
|||||||
go run greet.go -f etc/greet-api.json
|
go run greet.go -f etc/greet-api.json
|
||||||
```
|
```
|
||||||
|
|
||||||
默认侦听在8888端口,可以通过curl请求:
|
默认侦听在8888端口(可以在配置文件里修改),可以通过curl请求:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
➜ go-zero git:(master) curl -w "\ncode: %{http_code}\n" http://localhost:8888/greet/from/kevin
|
➜ go-zero git:(master) curl -w "\ncode: %{http_code}\n" http://localhost:8888/greet/from/kevin
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import (
|
|||||||
const (
|
const (
|
||||||
DiscovScheme = "discov"
|
DiscovScheme = "discov"
|
||||||
EndpointSep = ","
|
EndpointSep = ","
|
||||||
subsetSize = 36
|
subsetSize = 32
|
||||||
)
|
)
|
||||||
|
|
||||||
var builder discovBuilder
|
var builder discovBuilder
|
||||||
|
|||||||
@@ -37,6 +37,12 @@ func TestSubset(t *testing.T) {
|
|||||||
m := make(map[interface{}]int)
|
m := make(map[interface{}]int)
|
||||||
for i := 0; i < 1000; i++ {
|
for i := 0; i < 1000; i++ {
|
||||||
set := subset(append([]string(nil), vals...), test.sub)
|
set := subset(append([]string(nil), vals...), test.sub)
|
||||||
|
if test.sub < test.set {
|
||||||
|
assert.Equal(t, test.sub, len(set))
|
||||||
|
} else {
|
||||||
|
assert.Equal(t, test.set, len(set))
|
||||||
|
}
|
||||||
|
|
||||||
for _, val := range set {
|
for _, val := range set {
|
||||||
m[val]++
|
m[val]++
|
||||||
}
|
}
|
||||||
@@ -46,20 +52,3 @@ func TestSubset(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSubsetLess(t *testing.T) {
|
|
||||||
var vals []string
|
|
||||||
for i := 0; i < 100; i++ {
|
|
||||||
vals = append(vals, strconv.Itoa(i))
|
|
||||||
}
|
|
||||||
|
|
||||||
m := make(map[interface{}]int)
|
|
||||||
for i := 0; i < 1000; i++ {
|
|
||||||
set := subset(append([]string(nil), vals...), 200)
|
|
||||||
for _, val := range set {
|
|
||||||
m[val]++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
assert.True(t, mathx.CalcEntropy(m) > 0.95)
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user