mirror of https://github.com/poanetwork/gecko.git
39 lines
723 B
Go
39 lines
723 B
Go
// (c) 2019-2020, Ava Labs, Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package random
|
|
|
|
import (
|
|
"sort"
|
|
"testing"
|
|
)
|
|
|
|
func TestSubsetUniform(t *testing.T) {
|
|
s := &Uniform{N: 5}
|
|
subset := Subset(s, 5)
|
|
if len(subset) != 5 {
|
|
t.Fatalf("Returned wrong number of elements")
|
|
}
|
|
sort.Ints(subset)
|
|
|
|
for i := 0; i < 5; i++ {
|
|
if i != subset[i] {
|
|
t.Fatalf("Returned wrong element")
|
|
}
|
|
}
|
|
}
|
|
func TestSubsetWeighted(t *testing.T) {
|
|
s := &Weighted{Weights: []uint64{1, 2, 3, 4, 5}}
|
|
subset := Subset(s, 5)
|
|
if len(subset) != 5 {
|
|
t.Fatalf("Returned wrong number of elements")
|
|
}
|
|
sort.Ints(subset)
|
|
|
|
for i := 0; i < 5; i++ {
|
|
if i != subset[i] {
|
|
t.Fatalf("Returned wrong element")
|
|
}
|
|
}
|
|
}
|