Skip to content

Commit

Permalink
Assign Quantity to Specific Weapons
Browse files Browse the repository at this point in the history
  • Loading branch information
cidthecoatrack committed Aug 8, 2023
1 parent 95d7002 commit 215f27b
Show file tree
Hide file tree
Showing 6 changed files with 197 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,22 @@ public static IEnumerable Armors
}
}

public static IEnumerable SpecificArmors
{
get
{
var armors = ArmorConstants.GetAllSpecificArmorsAndShields();

foreach (var armor in armors)
{
foreach (var power in powers)
{
yield return new TestCaseData(armor, power);
}
}
}
}

public static IEnumerable Potions
{
get
Expand Down Expand Up @@ -111,6 +127,22 @@ public static IEnumerable Weapons
}
}

public static IEnumerable SpecificWeapons
{
get
{
var weapons = WeaponConstants.GetAllSpecific();

foreach (var weapon in weapons)
{
foreach (var power in powers)
{
yield return new TestCaseData(weapon, power);
}
}
}
}

public static IEnumerable WondrousItems
{
get
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ public void GenerateArmorOfSize(string itemName, string power, string size)
var item = ArmorGenerator.Generate(power, itemName, "my trait", size);
itemVerifier.AssertItem(item);
Assert.That(item, Is.InstanceOf<Armor>());
Assert.That(item.Quantity, Is.EqualTo(1));

var armor = item as Armor;
Assert.That(armor.ItemType, Is.EqualTo(ItemTypeConstants.Armor), $"{armor.Name} {armor.Magic.Curse}");
Expand Down Expand Up @@ -88,6 +89,7 @@ public void GenerateShieldOfSize(string itemName, string power, string size)
var item = ArmorGenerator.Generate(power, itemName, "my trait", size);
itemVerifier.AssertItem(item);
Assert.That(item, Is.InstanceOf<Armor>());
Assert.That(item.Quantity, Is.EqualTo(1));

var armor = item as Armor;
Assert.That(armor.ItemType, Is.EqualTo(ItemTypeConstants.Armor), $"{armor.Name} {armor.Magic.Curse}");
Expand All @@ -109,5 +111,14 @@ public void BUG_DragonhideCastersShieldRemovesWoodAndMetalAsAttributes(string po
Assert.That(shield.Attributes, Does.Not.Contain(AttributeConstants.Wood)
.And.Not.Contain(AttributeConstants.Metal));
}

[TestCaseSource(typeof(ItemPowerTestData), nameof(ItemPowerTestData.SpecificArmors))]
public void BUG_GenerateArmor_SpecificArmorHasQuantity(string itemName, string power)
{
var item = ArmorGenerator.Generate(power, itemName);
itemVerifier.AssertItem(item);
Assert.That(item, Is.InstanceOf<Armor>(), item.Name);
Assert.That(item.Quantity, Is.EqualTo(1), item.Name);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -185,5 +185,14 @@ public void GenerateSpecificMagicalWeaponWithExtraDamage(string weaponName)
Assert.That(weapon.Damages, Has.Count.GreaterThan(1), weapon.DamageDescription);
Assert.That(weapon.CriticalDamages, Has.Count.GreaterThan(1), weapon.CriticalDamageDescription);
}

[TestCaseSource(typeof(ItemPowerTestData), nameof(ItemPowerTestData.SpecificWeapons))]
public void BUG_GenerateWeapon_SpecificWeaponHasQuantity(string itemName, string power)
{
var item = WeaponGenerator.Generate(power, itemName);
itemVerifier.AssertItem(item);
Assert.That(item, Is.InstanceOf<Weapon>(), item.Name);
Assert.That(item.Quantity, Is.AtLeast(1), item.Name);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ public ItemVerifier()
public void AssertItem(Item item)
{
Assert.That(item.Name, Is.Not.Empty);
Assert.That(item.Quantity, Is.Positive, item.Description);
Assert.That(item.ItemType, Is.Not.Empty, $"{item.Description} item type");
Assert.That(item.BaseNames, Is.Not.Empty, item.Description);
Assert.That(item.BaseNames, Is.All.Not.Empty, item.Description);
Expand Down
Loading

0 comments on commit 215f27b

Please sign in to comment.