samba/server/game/baseroom/gameLog_test.go
2025-06-04 09:51:39 +08:00

64 lines
1.5 KiB
Go

package baseroom
import (
"encoding/json"
"testing"
)
type PlayerLog struct {
UId int64 `json:"uid"` // 玩家id
Seat int `json:"seat"` // 座位号
CostItem []Item `json:"cost_item"` // 消耗物品
}
type GameLogT struct {
Players []*PlayerLog `json:"players"` // 玩家数据
}
type StructM struct {
Players []map[string]interface{} `json:"players"` // 玩家数据
}
type B struct {
I int `json:"i"`
}
type B2 struct {
I2 int `json:"i2"`
}
func (b *B) GetId() int {
return b.I
}
type C struct {
*B
*B2
Z int `json:"z"`
}
// 测试添加金币
func TestStruct(t *testing.T) {
//game := new(BaseGameLog)
//game.Players = append(game.Players, &BasePlayerLog{UId: 1, Seat: 0, CostItem: []ItemLog{{Id: 10, Num: 10}, {Id: 11, Num: 11}}})
//game.Players = append(game.Players, &BasePlayerLog{UId: 2, Seat: 1, CostItem: []ItemLog{{Id: 20, Num: 20}, {Id: 21, Num: 21}}})
//b1, _ := json.Marshal(game)
m := new(StructM)
p1 := map[string]interface{}{"uid": 1, "seat": 0, "cost_item": []Item{{Id: 10, Num: 10}, {Id: 11, Num: 11}}}
p2 := map[string]interface{}{"uid": 2, "seat": 1, "cost_item": []Item{{Id: 20, Num: 20}, {Id: 21, Num: 21}}}
m.Players = append(m.Players, p1)
m.Players = append(m.Players, p2)
b2, _ := json.Marshal(m)
game := new(GameLogT)
_ = json.Unmarshal(b2, game)
b1, _ := json.Marshal(game)
t.Log(string(b1))
t.Log(string(b2))
c := C{B: &B{I: 10}, B2: &B2{I2: 12}, Z: 1}
sc, _ := json.Marshal(c)
t.Log(string(sc))
}