public void ItemBlockItemMatch_BaseTypeBlockItem_SingleBlockItemValue_ReturnsTrue(string testInputBaseType, bool expectedResult) { //Arrange var testInputItem = Mock.Of<IItem>(i => i.BaseType == "Test Base Type"); var testInputBaseTypeBlockItem = new BaseTypeBlockItem(); testInputBaseTypeBlockItem.Items.Add(testInputBaseType); //Act var result = _testUtility.BlockItemMatcher.ItemBlockItemMatch(testInputBaseTypeBlockItem, testInputItem); //Assert Assert.AreEqual(expectedResult, result); }
public void TranslateItemFilterBlockToString_Everything_ReturnsCorrectString() { // Arrange var expectedResult = "Show" + Environment.NewLine + " ItemLevel > 70" + Environment.NewLine + " ItemLevel <= 85" + Environment.NewLine + " DropLevel != 56" + Environment.NewLine + " Quality > 2" + Environment.NewLine + " Rarity = Unique" + Environment.NewLine + " Sockets <= 6" + Environment.NewLine + " LinkedSockets >= 4" + Environment.NewLine + " Width = 3" + Environment.NewLine + " Height <= 6" + Environment.NewLine + " Height >= 2" + Environment.NewLine + " Class \"Body Armour\" \"Gloves\" \"Belt\" \"Two Hand Axes\"" + Environment.NewLine + " BaseType \"Greater Life Flask\" \"Simple Robe\" \"Full Wyrmscale\"" + Environment.NewLine + " SetTextColor 255 89 0 56" + Environment.NewLine + " SetBackgroundColor 0 0 0" + Environment.NewLine + " SetBorderColor 255 1 254" + Environment.NewLine + " SetFontSize 50" + Environment.NewLine + " PlayAlertSound 6 90"; _testUtility.TestBlock.BlockItems.Add(new ActionBlockItem(BlockAction.Show)); _testUtility.TestBlock.BlockItems.Add(new ItemLevelBlockItem(FilterPredicateOperator.GreaterThan, 70)); _testUtility.TestBlock.BlockItems.Add(new ItemLevelBlockItem(FilterPredicateOperator.LessThanOrEqual, 85)); _testUtility.TestBlock.BlockItems.Add(new DropLevelBlockItem(FilterPredicateOperator.NotEqual, 56)); _testUtility.TestBlock.BlockItems.Add(new QualityBlockItem(FilterPredicateOperator.GreaterThan, 2)); _testUtility.TestBlock.BlockItems.Add(new RarityBlockItem(FilterPredicateOperator.Equal, (int)ItemRarity.Unique)); var classItemblockItem = new ClassBlockItem(); classItemblockItem.Items.Add("Body Armour"); classItemblockItem.Items.Add("Gloves"); classItemblockItem.Items.Add("Belt"); classItemblockItem.Items.Add("Two Hand Axes"); _testUtility.TestBlock.BlockItems.Add(classItemblockItem); var baseTypeItemblockItem = new BaseTypeBlockItem(); baseTypeItemblockItem.Items.Add("Greater Life Flask"); baseTypeItemblockItem.Items.Add("Simple Robe"); baseTypeItemblockItem.Items.Add("Full Wyrmscale"); _testUtility.TestBlock.BlockItems.Add(baseTypeItemblockItem); _testUtility.TestBlock.BlockItems.Add(new SocketsBlockItem(FilterPredicateOperator.LessThanOrEqual, 6)); _testUtility.TestBlock.BlockItems.Add(new LinkedSocketsBlockItem(FilterPredicateOperator.GreaterThanOrEqual, 4)); _testUtility.TestBlock.BlockItems.Add(new WidthBlockItem(FilterPredicateOperator.Equal, 3)); _testUtility.TestBlock.BlockItems.Add(new HeightBlockItem(FilterPredicateOperator.LessThanOrEqual, 6)); _testUtility.TestBlock.BlockItems.Add(new HeightBlockItem(FilterPredicateOperator.GreaterThanOrEqual, 2)); _testUtility.TestBlock.BlockItems.Add(new TextColorBlockItem(new Color {A = 56, R = 255, G = 89, B = 0})); _testUtility.TestBlock.BlockItems.Add(new BackgroundColorBlockItem(new Color { A = 255, R = 0, G = 0, B = 0 })); _testUtility.TestBlock.BlockItems.Add(new BorderColorBlockItem(new Color { A = 255, R = 255, G = 1, B = 254 })); _testUtility.TestBlock.BlockItems.Add(new FontSizeBlockItem(50)); _testUtility.TestBlock.BlockItems.Add(new SoundBlockItem(6, 90)); // Act var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock); // Assert Assert.AreEqual(expectedResult, result); }
public void TranslateItemFilterBlockToString_BaseTypes_ReturnsCorrectString() { // Arrange var expectedResult = "Show" + Environment.NewLine + " BaseType \"Test BaseType\" \"Another BaseType\" \"Yet Another BaseType\""; var baseTypeBlockItem = new BaseTypeBlockItem(); baseTypeBlockItem.Items.Add("Test BaseType"); baseTypeBlockItem.Items.Add("Another BaseType"); baseTypeBlockItem.Items.Add("Yet Another BaseType"); _testUtility.TestBlock.BlockItems.Add(baseTypeBlockItem); // Act var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock); // Assert Assert.AreEqual(expectedResult, result); }
public void ItemBlockMatch_SingleBlockItem_Matches_ReturnsTrue() { //Arrange var testBaseType = "Test Base Type"; var testInputItem = Mock.Of<IItem>(i => i.BaseType == testBaseType); var testInputBlock = new ItemFilterBlock(); var baseTypeBlockItem = new BaseTypeBlockItem(); baseTypeBlockItem.Items.Add(testBaseType); testInputBlock.BlockItems.Add(baseTypeBlockItem); //Act var result = _testUtility.BlockItemMatcher.ItemBlockMatch(testInputBlock, testInputItem); //Assert Assert.IsTrue(result); }
public void ItemBlockMatch_SingleBlockItem_DoesNotMatche_ReturnsFalse() { //Arrange var testInputItem = Mock.Of<IItem>(i => i.BaseType == "Base Type 1"); var testInputBlock = new ItemFilterBlock(); var baseTypeBlockItem = new BaseTypeBlockItem(); baseTypeBlockItem.Items.Add("Base Type 2"); testInputBlock.BlockItems.Add(baseTypeBlockItem); //Act var result = _testUtility.BlockItemMatcher.ItemBlockMatch(testInputBlock, testInputItem); //Assert Assert.IsFalse(result); }
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); }