package tuning

import "testing"

// Defaults must keep equipment drop and gold scaling positive so marginal per-slot
// equipment chances (EquipmentDropBase × slot weight) stay non-zero.
func TestDefaultLootTuning_nonZeroEquipmentAndGoldScale(t *testing.T) {
	d := DefaultValues()
	if d.EquipmentDropBase <= 0 {
		t.Fatal("default EquipmentDropBase must be > 0 so equipment can drop")
	}
	if d.EquipmentDropBase > 1 {
		t.Fatal("default EquipmentDropBase should be a probability in (0,1]")
	}
	if d.GoldLootScale <= 0 {
		t.Fatal("default GoldLootScale must be > 0")
	}
	if d.GoldDropChance <= 0 || d.GoldDropChance > 1 {
		t.Fatalf("default GoldDropChance must be in (0,1], got %v", d.GoldDropChance)
	}
	// Potion is independent; allow 0 only if explicitly intended (currently 0.05).
	if d.PotionDropChance < 0 || d.PotionDropChance > 1 {
		t.Fatalf("PotionDropChance out of range: %v", d.PotionDropChance)
	}
}
