Select Git revision
byteSliceChanReader.go
random_test.go 1.18 KiB
package main
import (
"fmt"
"testing"
)
func TestRandom(t *testing.T) {
n := 10000
res := make([]int, 10)
for i := 0; i < n; i++ {
res[Random(0, len(res)-1)]++
}
for i, v := range res {
fmt.Printf("%d %.1f%%\n", i, float64(v)/float64(n)*100)
}
}
func TestMapIterationOrder(t *testing.T) {
n := 10000
res := make([]int, 10)
m := map[int]struct{}{
0: struct{}{},
1: struct{}{},
2: struct{}{},
3: struct{}{},
4: struct{}{},
5: struct{}{},
6: struct{}{},
7: struct{}{},
8: struct{}{},
9: struct{}{},
}
for i := 0; i < n; i++ {
for k := range m {
res[k]++
break
}
}
for i, v := range res {
fmt.Printf("%d %.1f%%\n", i, float64(v)/float64(n)*100)
}
}
func TestRandomMapIterationOrder(t *testing.T) {
n := 10000
res := make([]int, 10)
m := map[int]struct{}{
0: struct{}{},
1: struct{}{},
2: struct{}{},
3: struct{}{},
4: struct{}{},
5: struct{}{},
6: struct{}{},
7: struct{}{},
8: struct{}{},
9: struct{}{},
}
for i := 0; i < n; i++ {
j := Random(0, len(m)-1)
for k := range m {
if j == 0 {
res[k]++
break
}
j--
}
}
for i, v := range res {
fmt.Printf("%d %.1f%%\n", i, float64(v)/float64(n)*100)
}
}