public void InventorySwapItems_ToNonExistantSlot_False() { var inventory = new Game.Inventory.Inventory(); bool correctItemInContainer1 = false; bool correctItemInContainer2 = false; List <ContainerSettings> settingsList = new List <ContainerSettings> { new ContainerSettings { Identifier = "1", Type = ContainerType.Storage, NumberOfSlots = 3 }, new ContainerSettings { Identifier = "2", Type = ContainerType.Storage, NumberOfSlots = 3 }, }; inventory.ContainerSettings = settingsList; inventory.Initialize(); IItem item1 = new BaseItem { Name = "item1", UniqueId = "item1_Id", MaxStackSize = 10, CurrentStackSize = 1 }; IItem item2 = new BaseItem { Name = "item2", UniqueId = "item2_Id", MaxStackSize = 10, CurrentStackSize = 1 }; inventory.StoreItemAnywhere(ref item1, out var info1); inventory.StoreItem(ref item2, new SlotIdentifier("2", 0), out var info2); //inventory.DebugShowAllItems(); var result = inventory.SwapItem(new SlotIdentifier("1", 0), new SlotIdentifier("2", 5), out var slotsInfo); //inventory.DebugShowAllItems(); var info = inventory.GetContainerInfo("1"); var invSlot = info.InventorySlots[0]; if (invSlot.SlotId.ContainerId == "1" && invSlot.SlotId.SlotIndex == 0 && invSlot.HasItem && invSlot.Item.UniqueId == item1.UniqueId) { correctItemInContainer1 = true; } info = inventory.GetContainerInfo("2"); invSlot = info.InventorySlots[0]; if (invSlot.HasItem && invSlot.Item.UniqueId == item2.UniqueId) { correctItemInContainer2 = true; } Assert.IsTrue(correctItemInContainer1 && correctItemInContainer2); Assert.IsFalse(result); }
public void UnEquipItem_FromInventory_True() { // Use the Assert class to test conditions. var inventory = new Game.Inventory.Inventory(); bool isFilledInvSlot = false; bool isEmptyEquipSlot = false; List <ContainerSettings> settingsList = new List <ContainerSettings> { new ContainerSettings { Identifier = "1", Type = ContainerType.Storage, NumberOfSlots = 5 }, new ContainerSettings { Identifier = "2", Type = ContainerType.Equiptment, NumberOfSlots = 5 } }; inventory.ContainerSettings = settingsList; inventory.Initialize(); //inventory.DebugShowAllItems(); IItem item1 = new BaseItem { Name = "item1", UniqueId = "item1_Id", MaxStackSize = 1, CurrentStackSize = 1 }; var isItemStored = inventory.StoreItemAnywhere(ref item1, out var outInfo1); var isItemEquipped = inventory.EquipItem(new SlotIdentifier("1", 0), new SlotIdentifier("2", 0), out var infoList); //inventory.DebugShowAllItems(); var isItemUnequipped = inventory.UnEquipItem(new SlotIdentifier("2", 0), out var outInfo2); //inventory.DebugShowAllItems(); var info = inventory.GetContainerInfo("1"); var invSlot = info.InventorySlots[0]; if (invSlot.HasItem && invSlot.Item.UniqueId == item1.UniqueId) { isFilledInvSlot = true; } info = inventory.GetContainerInfo("2"); invSlot = info.InventorySlots[0]; if (!invSlot.HasItem) { isEmptyEquipSlot = true; } Assert.IsTrue(isEmptyEquipSlot && isFilledInvSlot && isItemEquipped && isItemStored && isItemUnequipped); }
public void InventorySwapItems_DifferentContainer_EmptySlot_True() { var inventory = new Game.Inventory.Inventory(); bool correctItemInContainer1 = false; bool correctItemInContainer2 = false; List <ContainerSettings> settingsList = new List <ContainerSettings> { new ContainerSettings { Identifier = "1", Type = ContainerType.Storage, NumberOfSlots = 5 }, new ContainerSettings { Identifier = "2", Type = ContainerType.Storage, NumberOfSlots = 5 }, }; inventory.ContainerSettings = settingsList; inventory.Initialize(); IItem item1 = new BaseItem { Name = "item1", UniqueId = "item1_Id", MaxStackSize = 10, CurrentStackSize = 1 }; inventory.StoreItemAnywhere(ref item1, out var info1); //inventory.DebugShowAllItems(); var result = inventory.SwapItem(new SlotIdentifier("1", 0), new SlotIdentifier("2", 0), out var slotsInfo); //inventory.DebugShowAllItems(); var invSlot = slotsInfo[0]; if (!invSlot.HasItem) { correctItemInContainer1 = true; } invSlot = slotsInfo[1]; if (invSlot.HasItem && invSlot.Item.UniqueId == item1.UniqueId) { correctItemInContainer2 = true; } Assert.IsTrue(result && correctItemInContainer1 && correctItemInContainer2); }
public void Equip_UnEquipItem_MultipleTimes_True() { // Use the Assert class to test conditions. var inventory = new Game.Inventory.Inventory(); bool isFilledInvSlot = false; bool isEmptyEquipSlot = false; List <ContainerSettings> settingsList = new List <ContainerSettings> { new ContainerSettings { Identifier = "1", Type = ContainerType.Storage, NumberOfSlots = 5 }, new ContainerSettings { Identifier = "2", Type = ContainerType.Equiptment, NumberOfSlots = 5 } }; inventory.ContainerSettings = settingsList; inventory.Initialize(); //inventory.DebugShowAllItems(); IItem item1 = new BaseItem { Name = "item1", UniqueId = "item1_Id", MaxStackSize = 1, CurrentStackSize = 1 }; var isItemStored = inventory.StoreItemAnywhere(ref item1, out var outContainer); //inventory.DebugShowAllItems(); int numOfTimes = 5; bool[] isItemEquippedArray = new bool[numOfTimes]; bool[] isItemUnequippedArray = new bool[numOfTimes]; for (int i = 0; i < numOfTimes; i++) { isItemEquippedArray[i] = inventory.EquipItem(new SlotIdentifier("1", 0), new SlotIdentifier("2", 0), out var infoList); isItemUnequippedArray[i] = inventory.UnEquipItem(new SlotIdentifier("2", 0), out var outContainer2); } //inventory.DebugShowAllItems(); bool isItemEquipped = true; foreach (var boolToCheck in isItemEquippedArray) { if (!boolToCheck) { isItemEquipped = false; } } bool isItemUnequipped = true; foreach (var boolToCheck in isItemUnequippedArray) { if (!boolToCheck) { isItemUnequipped = false; } } var containerInfo = inventory.GetContainerInfo("1"); SlotInfo slotinfo = containerInfo.InventorySlots[0]; if (slotinfo.HasItem && slotinfo.Item.UniqueId == item1.UniqueId) { isFilledInvSlot = true; } containerInfo = inventory.GetContainerInfo("2"); slotinfo = containerInfo.InventorySlots[0]; if (!slotinfo.HasItem) { isEmptyEquipSlot = true; } Assert.IsTrue(isEmptyEquipSlot && isFilledInvSlot && isItemUnequipped && isItemStored && isItemEquipped); }