go-zero/core/mathx/entropy_test.go

32 lines
563 B
Go
Raw Normal View History

2020-07-26 17:09:05 +08:00
package mathx
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestCalcEntropy(t *testing.T) {
const total = 1000
const count = 100
m := make(map[any]int, total)
2020-07-26 17:09:05 +08:00
for i := 0; i < total; i++ {
m[i] = count
}
2020-08-06 23:06:26 +08:00
assert.True(t, CalcEntropy(m) > .99)
2020-07-26 17:09:05 +08:00
}
func TestCalcEmptyEntropy(t *testing.T) {
m := make(map[any]int)
assert.Equal(t, float64(1), CalcEntropy(m))
}
func TestCalcDiffEntropy(t *testing.T) {
const total = 1000
m := make(map[any]int, total)
for i := 0; i < total; i++ {
m[i] = i
}
assert.True(t, CalcEntropy(m) < .99)
}