public void ItemBlockMatch_MultipleBlockItems_Matches_ReturnsTrue()
        {
            //Arrange
            var testInputItem = Mock.Of<IItem>(i => i.BaseType == "Base Type 1" && i.Height == 4 && i.Width == 2);
            var testInputBlock = new ItemFilterBlock();
            var baseTypeBlockItem = new BaseTypeBlockItem();
            baseTypeBlockItem.Items.Add("Base Type 1");
            var heightBlockItem = new HeightBlockItem(FilterPredicateOperator.Equal, 4);
            var widthBlockItem = new WidthBlockItem(FilterPredicateOperator.Equal, 2);

            testInputBlock.BlockItems.Add(baseTypeBlockItem);
            testInputBlock.BlockItems.Add(heightBlockItem);
            testInputBlock.BlockItems.Add(widthBlockItem);

            //Act
            var result = _testUtility.BlockItemMatcher.ItemBlockMatch(testInputBlock, testInputItem);

            //Assert
            Assert.IsTrue(result);
        }
        public void ItemBlockItemMatch_ReturnsCorrectResult(FilterPredicateOperator testInputFilterPredicateOperator, int testInputBlockItemWidth, bool expectedResult)
        {
            //Arrange
            var testInputItem = Mock.Of<IItem>(i => i.Width == 2);
            var testInputBlockItem = new WidthBlockItem(testInputFilterPredicateOperator, testInputBlockItemWidth);

            //Act
            var result = _testUtility.BlockItemMatcher.ItemBlockItemMatch(testInputBlockItem, testInputItem);

            //Assert
            Assert.AreEqual(expectedResult, result);
        }