public void Equip_HasMultipleSlots_EquipsInEmptyOnes()
        {
            var item1 = GiveHandTestItem(3);
            var item2 = GiveHandTestItem(4);

            equipmentSystem.Equip(entity, item1);
            var result = equipmentSystem.Equip(entity, item2);

            result.Should().BeTrue();

            var expected = new EquipmentMappingList {
                new EquipmentMappingListItem {
                    EquipmentId = item1.EntityId, Slot = HandSlot
                },
                new EquipmentMappingListItem {
                    EquipmentId = item2.EntityId, Slot = HandSlot2
                }
            };

            entity.Get <Equipped>().EquippedItems.Should().BeEquivalentTo(expected);

            var expectedInventory = new EntityReferenceList();

            entity.Get <Inventory>().Contents.Should().BeEquivalentTo(expectedInventory);
        }
        public void Equip_HasSlotAndSomethingEquipped_SingleSlot_ReplacesEquippedAndPutsOldInInventory()
        {
            var item = GiveHelmTestItem(3);

            equipmentSystem.Equip(entity, item);

            var newItem = GiveHelmTestItem(4);

            var result = equipmentSystem.Equip(entity, newItem);

            result.Should().BeTrue();


            var expected = new EquipmentMappingList
            {
                new EquipmentMappingListItem {
                    EquipmentId = newItem.EntityId, Slot = HeadSlot
                }
            };

            entity.Get <Equipped>().EquippedItems.Should().BeEquivalentTo(expected);

            var expectedInventory = new EntityReferenceList {
                item
            };

            entity.Get <Inventory>().Contents.Should().BeEquivalentTo(expectedInventory);
        }
        public void Equip_HasNoSlotFor_DoesNotEquipAndRemainsInInventory()
        {
            var item = GiveHelmTestItem(3);

            prototypeSystem.Get("EquipmentMappings").Returns(new Entity(1, "EquipmentMappings", new IEntityComponent[0]));

            var result = equipmentSystem.Equip(entity, item);

            result.Should().BeFalse();

            var expected = new EquipmentMappingList();

            entity.Get <Equipped>().EquippedItems.Should().BeEquivalentTo(expected);

            var expectedInventory = new EntityReferenceList {
                item
            };

            entity.Get <Inventory>().Contents.Should().BeEquivalentTo(expectedInventory);
        }