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); }