vRp.CD2g_test/utils/storage/data_test.go

57 lines
1.1 KiB
Go

package storage_test
import (
"encoding/json"
"fmt"
"github.com/kercylan98/minotaur/utils/slice"
"github.com/kercylan98/minotaur/utils/storage"
"testing"
)
type Player struct {
ID string `json:"id"`
Name string `json:"name"`
Power int64 `json:"power"`
}
func TestData_Struct(t *testing.T) {
player := storage.NewSet[string, *Player](new(Player),
func(data *Player) string {
return data.ID
}, storage.WithIndex[string, string, *Player]("id", func(data *Player) string {
return data.ID
}), storage.WithIndex[string, string, *Player]("name", func(data *Player) string {
return data.Name
}),
)
p := player.New()
p.Handle(func(data *Player) {
data.ID = "1"
data.Name = "kercylan"
data.Power = 100
})
str, err := player.Struct(p)
if err != nil {
panic(err)
}
bytes, err := json.Marshal(str)
if err != nil {
panic(err)
}
fmt.Println(string(bytes))
}
func TestData_Handle(t *testing.T) {
var is []int
for i := 1; i <= 23; i++ {
is = append(is, i)
}
res := slice.LimitedCombinations(is, 5, 5)
fmt.Println("Count:", len(res))
}