Update GaCy-GO
This commit is contained in:
1 parent
da8a32f60d
commit
0cbe460e49
345 files changed
+98202
-77559
No files matched your search
@@ -1,6 +1,7 @@
|
||||
package gameserver
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"testing"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
@@ -36,6 +37,61 @@ func TestReadPrydwenLineupsUseCurrentClientAvatarResources(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestPrydwenRecommendationsCoverEveryEndgameMode(t *testing.T) {
|
||||
snapshot, err := loadPrydwenSnapshot()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
avatarIDs, err := readPrydwenAvatarIDs(snapshot.AvatarAliases)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, mode := range []string{"moc", "pf", "as", "aa"} {
|
||||
typeText := ""
|
||||
for requestType, routedMode := range snapshot.Protocol.RequestTypeRoutes {
|
||||
if routedMode == mode {
|
||||
typeText = requestType
|
||||
break
|
||||
}
|
||||
}
|
||||
typeValue, err := strconv.ParseInt(typeText, 10, 32)
|
||||
if err != nil {
|
||||
t.Fatalf("mode %s has no valid request type route %q: %v", mode, typeText, err)
|
||||
}
|
||||
rsp, err := buildPrydwenRecommendResponse(&goproto.GetFriendRecommendLineupCsReq{
|
||||
Type: goproto.JFNJKAPPNOF(typeValue),
|
||||
Key: 0,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("mode %s: %v", mode, err)
|
||||
}
|
||||
if rsp.GetType() != goproto.JFNJKAPPNOF(typeValue) {
|
||||
t.Fatalf("mode %s response lost request type", mode)
|
||||
}
|
||||
group := rsp.GetMGKCKHIIICL()[0]
|
||||
if mode == "aa" {
|
||||
payload := group.GetLMHIOKFMDNE()
|
||||
if payload == nil || len(payload.GetDNIGKDKIPPJ()) != len(snapshot.Modes[mode].Stages) {
|
||||
t.Fatalf("AA response does not contain one Peak lineup per source stage: %v", payload)
|
||||
}
|
||||
for _, peak := range payload.GetDNIGKDKIPPJ() {
|
||||
if peak.GetPeakId() == 0 || len(peak.GetAvatarList()) != 4 {
|
||||
t.Fatalf("invalid AA Peak recommendation: %v", peak)
|
||||
}
|
||||
}
|
||||
continue
|
||||
}
|
||||
payload := group.GetNHKCFOALAPD()
|
||||
lineups, err := buildPrydwenLineups(snapshot.Modes[mode], avatarIDs)
|
||||
if err != nil {
|
||||
t.Fatalf("mode %s: %v", mode, err)
|
||||
}
|
||||
if payload == nil || len(payload.GetLineupList()) != len(lineups) {
|
||||
t.Fatalf("mode %s response has wrong team count: %v", mode, payload)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildPrydwenRecommendResponsePreservesRequestAndLineups(t *testing.T) {
|
||||
req := &goproto.GetFriendRecommendLineupCsReq{
|
||||
Type: goproto.JFNJKAPPNOF_JFNJKAPPNOF_JHOEBNNMKHB,
|
||||
|
||||
Reference in new issue
Block a user