public void AddingTheSameItemTwiceDoesNotDuplicate() { var inv = new Inventory(); var j = new PieceOfJunk(); inv.AddGear(j); inv.AddGear(j); Assert.AreEqual(1, inv.All.Count()); }
public void InventoryTracksWeapons() { var inv = new Inventory(); var wpn1 = new Weapon(); var gear = new PieceOfJunk(); inv.AddGear(wpn1); inv.AddGear(gear); Assert.AreEqual(wpn1, inv.Weapons.First()); }
public void PurchasingAnItemDeductsTheValueFromPurse() { var inv = new Inventory(); var j = new PieceOfJunk(); j.Value = 34; inv.CoinPurse.SetValue(40); inv.Purchase(j); Assert.Equal(6, inv.CoinPurse.Value); Assert.Equal(1, inv.All.Count()); }
public void AddingTheSameItemTwiceIncrementsQuantity() { var inv = new Inventory(); var j = new PieceOfJunk(); inv.AddGear(j); inv.AddGear(j); var item = inv.Find(j); Assert.Equal(item.Quantity, 2); }
public void CanGetItemOfSpecificType() { var inv = new Inventory(); var armor = new Armor(); var junk = new PieceOfJunk(); var wpn = new Weapon(); inv.AddGear(armor); inv.AddGear(junk); inv.AddGear(wpn); Assert.AreEqual(junk, inv.GearOfType <PieceOfJunk> ().First()); }
public void ToStringArrayCreatesAnArrayOfTheNameAndQuantityIfAppropriate() { var inv = new Inventory(); var armor = new Armor(); armor.Name = "Leather Armor"; inv.AddGear(armor); var junk = new PieceOfJunk(); junk.GroupSimilar = true; inv.AddGear(junk); inv.AddGear(junk); string[] names = inv.ToStringArray(); Assert.Single(names, "Leather Armor"); Assert.Single(names, "Junk (2)"); }