private static void ValidateItem(NativeEquipmentItem equipmentItem,
                                  ItemColor itemColor,
                                  ItemIndex itemIndex,
                                  EquipmentSlot equipmentSlot,
                                  IEnumerable <ModifierIndex> list)
 {
     ValidateItem(equipmentItem, (int)itemColor, (int)itemIndex, (int)equipmentSlot, list.Cast <int>());
 }
 private static void ValidateItem(NativeEquipmentItem obj, NativeEquipmentItem other)
 {
     ValidateItem(obj,
                  other.ColorId,
                  other.ItemId,
                  other.SlotId,
                  other.ModifierIds);
 }
        private static void ValidateItem(NativeEquipmentItem equipmentItem,
                                         int itemColor,
                                         int itemIndex,
                                         int equipmentSlot,
                                         IEnumerable <int> list)
        {
            Assert.AreEqual(itemColor, equipmentItem.ColorId);
            Assert.AreEqual(itemIndex, equipmentItem.ItemId);
            Assert.AreEqual(equipmentSlot, equipmentItem.SlotId);

            Assert.AreEqual(list.Count(), equipmentItem.ModifierIds.Count());
            foreach (var modifier in list)
            {
                Assert.IsTrue(equipmentItem.ModifierIds.Contains(modifier));
            }
        }