Files
Go-http_framework/test/rand/RandByWeight_test.go
T

52 lines
1.1 KiB
Go
Raw Normal View History

/*
* @Author : huangzj
* @Time : 2020/6/29 17:16
* @Description
*/
package rand
import (
"Go-Tool/util/rand"
"fmt"
"strconv"
"testing"
)
func TestRandByWeight(t *testing.T) {
fmt.Printf(strconv.Itoa(rand.GetRandValueByWeight([]int{10, 20, 30, 50})))
list, list1 := rand.GetAwardByWeight([][]int{{2, 2, 10}, {3, 3, 4}})
for _, r := range list {
fmt.Println(strconv.Itoa(r))
}
for _, r := range list1 {
fmt.Println(strconv.Itoa(r))
}
fmt.Println(rand.GetByWeight([]int{10, 11, 12, 13}, []int{20, 30, 40, 50}))
list2, list3 := rand.GetAwardByWeightWithLeftAward([][]int{{2, 3, 30}, {3, 3, 40}})
for _, r := range list2 {
fmt.Println(strconv.Itoa(r))
}
for _, r := range list3 {
for _, r1 := range r {
fmt.Println(strconv.Itoa(r1))
}
}
list4 := rand.GetCountAwardsFromPool([][]int{{1, 2, 30}, {2, 2, 40}, {3, 2, 50}}, 2)
for _, r := range list4 {
for _, r1 := range r {
fmt.Println(strconv.Itoa(r1))
}
}
list5 := rand.GetAwardByPercentage([][]int{{20, 3, 99}, {90, 3, 10}, {12, 3, 22}}, 100)
for _, r := range list5 {
fmt.Println(strconv.Itoa(r))
}
}