示例#1
0
        public void AddingTheSameItemTwiceDoesNotDuplicate()
        {
            var inv = new Inventory();
            var j   = new PieceOfJunk();

            inv.AddGear(j);
            inv.AddGear(j);
            Assert.AreEqual(1, inv.All.Count());
        }
示例#2
0
        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());
        }
示例#3
0
        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());
        }
示例#4
0
        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);
        }
示例#5
0
        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());
        }
示例#6
0
        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)");
        }