Example #1
0
        public void tells_characther_when_an_item_equipped_successfully()
        {
            //ARRANGE
            ICharacter     character = Substitute.For <ICharacter>();
            Inventory_test inventory = new Inventory_test(character);
            InvItem        chestOne  = new InvItem()
            {
                EquipSlot = EquipSlots.Chest
            };

            //ACT
            inventory.EquipItem(chestOne);

            //ASSERT
            character.Received().OnItemEquipped(chestOne);
        }
Example #2
0
        public void only_one_chest_euipped_at_a_time()
        {
            //ARRANGE
            ICharacter     character = Substitute.For <ICharacter>();
            Inventory_test inventory = new Inventory_test(character);
            InvItem        chestOne  = new InvItem()
            {
                EquipSlot = EquipSlots.Chest
            };
            InvItem chestTwo = new InvItem()
            {
                EquipSlot = EquipSlots.Chest
            };

            //ACT
            inventory.EquipItem(chestOne);
            inventory.EquipItem(chestTwo);
            //ASSERT
            InvItem equippedItem = inventory.GetItem(EquipSlots.Chest);

            Assert.AreEqual(chestTwo, equippedItem);
        }
Example #3
0
        public void with_90_armor_takes_10_percent_damage()
        {
            //ARRANGE
            ICharacter     character = Substitute.For <ICharacter>(); //new ICharacter();
            Inventory_test inventory = new Inventory_test(character);
            InvItem        pants     = new InvItem()
            {
                EquipSlot = EquipSlots.Legs, Armor = 40
            };
            InvItem shild = new InvItem()
            {
                EquipSlot = EquipSlots.RightHand, Armor = 50
            };

            inventory.EquipItem(pants);
            inventory.EquipItem(shild);
            character.Inventory.Returns(inventory);

            //ACT
            int claculatedDamage = DamageCalculator.CalculateDamage(1000, character);

            //ASSERT
            Assert.AreEqual(100, claculatedDamage);
        }