public void ProcessItemsAgainstItemFilterScript_IntegrationTest()
        {
            //Arrange
            var testInputScriptFile = Resources.MuldiniFilterScript;
            var blockGroupHierarchyBuilder = new BlockGroupHierarchyBuilder();
            var scriptTranslator = new ItemFilterScriptTranslator(new ItemFilterBlockTranslator(blockGroupHierarchyBuilder), blockGroupHierarchyBuilder);
            var script = scriptTranslator.TranslateStringToItemFilterScript(testInputScriptFile);

            var testInputItem = new Item
            {
                BaseType = "BlahdeBlah",
                ItemClass = "Wands",
                ItemRarity = ItemRarity.Magic,
                ItemLevel = 9,
                DropLevel = 9,
                Height = 3,
                Width = 1,
                SocketGroups = new List<SocketGroup> {new SocketGroup(new List<Socket> {new Socket(SocketColor.Red)}, false)}
            };

            var itemFilterProcessor = new ItemFilterProcessor(new BlockItemMatcher());

            //Act
            var result = itemFilterProcessor.ProcessItemsAgainstItemFilterScript(script, new List<IItem> { testInputItem });

            //Assert
            Assert.AreEqual("Wands", result.First().ItemFilterBlock.BlockItems.OfType<ClassBlockItem>().First().Items.First());
        }
        public void AddItemToItemSet()
        {
            ItemSet fetchedItemSet;
            using (var repository = new ItemSetRepository())
            {
                fetchedItemSet = repository.Find(1);
            }

            var newItem = new Item
            {
                BaseType = "Test Base",
                Description = "Test Item Supreme",
                DropLevel = 75,
                Height = 3,
                Width = 2,
                ItemClass = "Super Class",
                ItemRarity = ItemRarity.Rare,
                ItemLevel = 50,
                ItemSet = fetchedItemSet,
                ItemSetId = fetchedItemSet.Id

            };

            fetchedItemSet.Items.Add(newItem);

            using (var repository = new ItemSetRepository())
            {
                repository.InsertOrUpdate(fetchedItemSet);
                repository.Save();
            }
        }