Files
bd2/go/internal/server/gamedata/equipment_craft_test.go
T

48 lines
1.6 KiB
Go

package gamedata
import (
"os"
"testing"
)
func TestEquipmentCraftAgainstInstalledCurrentVersion(t *testing.T) {
root := os.Getenv("BD2_REAL_GAMEDATA")
if root == "" {
t.Skip("set BD2_REAL_GAMEDATA for installed GameData integration test")
}
design, err := LoadEquipmentCraftDesign(root, "20260923193640")
if err != nil {
t.Fatal(err)
}
recipe, ok := design.Recipe(1)
if !ok || recipe.TalentLevel != 1 || recipe.ResultCount != 1 || len(recipe.Costs) != 2 ||
recipe.Costs[0] != (PromotionCost{Type: 8, ID: 204, Count: 3}) ||
recipe.Costs[1] != (PromotionCost{Type: 8, ID: 201, Count: 3}) {
t.Fatalf("recipe=%+v found=%t", recipe, ok)
}
design.draw = func(limit uint64) (uint64, error) { return 0, nil }
generated, err := design.Generate(1)
if err != nil || generated.Design.ID != 10010 || len(generated.Main) == 0 {
t.Fatalf("generated=%+v err=%v", generated, err)
}
gain, catalyst, maximum, err := design.Talent(140, 1, 1, 1, 0)
if err != nil || gain == 0 || catalyst == 0 || maximum == 0 || gain > maximum {
t.Fatalf("talent gain=%d catalyst=%d maximum=%d err=%v", gain, catalyst, maximum, err)
}
}
func TestEquipmentUpgradeBreakAgainstInstalledCurrentVersion(t *testing.T) {
root := os.Getenv("BD2_REAL_GAMEDATA")
if root == "" {
t.Skip("set BD2_REAL_GAMEDATA for installed GameData integration test")
}
design, err := LoadEquipmentUpgradeDesign(root, "20260923193640")
if err != nil {
t.Fatal(err)
}
rewards, err := design.BreakRewards(10010, 0)
if err != nil || len(rewards) == 0 {
t.Fatalf("break rewards=%+v err=%v", rewards, err)
}
}