Replaced all instances of "LootFilter" with "ItemFilter"

This commit is contained in:
Ben 2015-06-08 20:17:34 +01:00
parent 5bd5ce8b0f
commit d48f7a58ec
45 changed files with 539 additions and 534 deletions

View File

@ -46,13 +46,13 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Models\TestLootFilterBlock.cs" />
<Compile Include="Models\TestLootFilterScript.cs" />
<Compile Include="Models\TestItemFilterBlock.cs" />
<Compile Include="Models\TestItemFilterScript.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Services\TestLootFilterPersistenceService.cs" />
<Compile Include="Services\TestItemFilterPersistenceService.cs" />
<Compile Include="Services\TestStaticDataService.cs" />
<Compile Include="Translators\TestLootFilterBlockTranslator.cs" />
<Compile Include="Translators\TestLootFilterScriptTranslator.cs" />
<Compile Include="Translators\TestItemFilterBlockTranslator.cs" />
<Compile Include="Translators\TestItemFilterScriptTranslator.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
@ -70,7 +70,7 @@
<Content Include="Resources\testscript.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Resources\ThioleLootFilter.txt">
<Content Include="Resources\ThioleItemFilter.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>

View File

@ -5,13 +5,13 @@ using NUnit.Framework;
namespace Filtration.Tests.Models
{
[TestFixture]
public class TestLootFilterBlock
public class TestItemFilterBlock
{
[Test]
public void LootFilterBlock_BlockCount_ReturnsCorrectNumber()
public void ItemFilterBlock_BlockCount_ReturnsCorrectNumber()
{
// Arrange
var block = new LootFilterBlock();
var block = new ItemFilterBlock();
block.BlockItems.Add(new ItemLevelBlockItem());
block.BlockItems.Add(new ItemLevelBlockItem());
block.BlockItems.Add(new ItemLevelBlockItem());
@ -25,10 +25,10 @@ namespace Filtration.Tests.Models
}
[Test]
public void LootFilterBlock_AddBlockItemAllowed_LessThanMaximum_ReturnsTrue()
public void ItemFilterBlock_AddBlockItemAllowed_LessThanMaximum_ReturnsTrue()
{
// Arrange
var block = new LootFilterBlock();
var block = new ItemFilterBlock();
block.BlockItems.Add(new ItemLevelBlockItem());
// Act
@ -39,10 +39,10 @@ namespace Filtration.Tests.Models
}
[Test]
public void LootFilterBlock_AddBlockItemAllowed_MoreThanMaximum_ReturnsFalse()
public void ItemFilterBlock_AddBlockItemAllowed_MoreThanMaximum_ReturnsFalse()
{
// Arrange
var block = new LootFilterBlock();
var block = new ItemFilterBlock();
block.BlockItems.Add(new SoundBlockItem());
// Act

View File

@ -1,9 +1,5 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using Filtration.Models;
using Filtration.Models.BlockItemTypes;
@ -12,14 +8,14 @@ using NUnit.Framework;
namespace Filtration.Tests.Models
{
[TestFixture]
public class TestLootFilterScript
public class TestItemFilterScript
{
[Test]
public void Validate_AtLeastOneBlock_Fail_ReturnsListWithCorrectError()
{
// Arrange
var script = new LootFilterScript();
var script = new ItemFilterScript();
// Act
var result = script.Validate();
@ -33,9 +29,9 @@ namespace Filtration.Tests.Models
{
// Arrange
var script = new LootFilterScript
var script = new ItemFilterScript
{
LootFilterBlocks = new ObservableCollection<LootFilterBlock> {new LootFilterBlock()}
ItemFilterBlocks = new ObservableCollection<ItemFilterBlock> {new ItemFilterBlock()}
};
// Act
@ -59,16 +55,16 @@ namespace Filtration.Tests.Models
ReplaceBackgroundColor = true
};
var testInputBlock1 = new LootFilterBlock();
var testInputBlock1 = new ItemFilterBlock();
testInputBlock1.BlockItems.Add(new BackgroundColorBlockItem(new Color {A = 255, R = 255, G = 0, B = 0}));
var testInputBlock2 = new LootFilterBlock();
var testInputBlock2 = new ItemFilterBlock();
testInputBlock2.BlockItems.Add(new BackgroundColorBlockItem(new Color { A = 255, R = 255, G = 1, B = 0 }));
var testInputBlock3 = new LootFilterBlock();
var testInputBlock3 = new ItemFilterBlock();
testInputBlock3.BlockItems.Add(new BackgroundColorBlockItem(new Color { A = 255, R = 255, G = 0, B = 0 }));
var script = new LootFilterScript()
var script = new ItemFilterScript()
{
LootFilterBlocks = new ObservableCollection<LootFilterBlock>
ItemFilterBlocks = new ObservableCollection<ItemFilterBlock>
{
testInputBlock1,
testInputBlock2,
@ -105,16 +101,16 @@ namespace Filtration.Tests.Models
ReplaceTextColor = true
};
var testInputBlock1 = new LootFilterBlock();
var testInputBlock1 = new ItemFilterBlock();
testInputBlock1.BlockItems.Add(new BackgroundColorBlockItem(oldBackgroundColor));
testInputBlock1.BlockItems.Add(new TextColorBlockItem(oldTextColor));
var testInputBlock2 = new LootFilterBlock();
var testInputBlock2 = new ItemFilterBlock();
testInputBlock2.BlockItems.Add(new BackgroundColorBlockItem(oldBackgroundColor));
testInputBlock2.BlockItems.Add(new TextColorBlockItem(new Color {A = 1, R = 2, G = 3, B = 4}));
var script = new LootFilterScript
var script = new ItemFilterScript
{
LootFilterBlocks = new ObservableCollection<LootFilterBlock>
ItemFilterBlocks = new ObservableCollection<ItemFilterBlock>
{
testInputBlock1,
testInputBlock2

View File

@ -1,4 +1,4 @@
# Loot Filter Script created by Filtration v0.1 - www.github.com/XVar/filtration
# Item Filter Script created by Filtration v0.1 - www.github.com/XVar/filtration
# Begin Script Description
# This is a test script
#

View File

@ -7,55 +7,55 @@ using NUnit.Framework;
namespace Filtration.Tests.Services
{
[TestFixture]
public class TestLootFilterPersistenceService
public class TestItemFilterPersistenceService
{
[Test]
public void LoadLootFilterScript_CallsTranslatorAndFileSystemService()
public void LoadItemFilterScript_CallsTranslatorAndFileSystemService()
{
// Arrange
const string TestInputPath = "C:\\Test Path\\Script.Filter";
const string TestScriptString = "This is a test loot filter script";
var testLootFilterScript = new LootFilterScript();
const string TestScriptString = "This is a test item filter script";
var testItemFilterScript = new ItemFilterScript();
var mockFileSystemService = new Mock<IFileSystemService>();
mockFileSystemService.Setup(s => s.ReadFileAsString(TestInputPath)).Returns(TestScriptString).Verifiable();
var mockLootFilterScriptTranslator = new Mock<ILootFilterScriptTranslator>();
mockLootFilterScriptTranslator.Setup(t => t.TranslateStringToLootFilterScript(TestScriptString)).Returns(testLootFilterScript).Verifiable();
var mockItemFilterScriptTranslator = new Mock<IItemFilterScriptTranslator>();
mockItemFilterScriptTranslator.Setup(t => t.TranslateStringToItemFilterScript(TestScriptString)).Returns(testItemFilterScript).Verifiable();
var service = new LootFilterPersistenceService(mockFileSystemService.Object, mockLootFilterScriptTranslator.Object);
var service = new ItemFilterPersistenceService(mockFileSystemService.Object, mockItemFilterScriptTranslator.Object);
// Act
var script = service.LoadLootFilterScript(TestInputPath);
var script = service.LoadItemFilterScript(TestInputPath);
// Assert
mockFileSystemService.Verify();
mockLootFilterScriptTranslator.Verify();
Assert.AreEqual(testLootFilterScript, script);
mockItemFilterScriptTranslator.Verify();
Assert.AreEqual(testItemFilterScript, script);
}
[Test]
public void SaveLootFilterScript_CallsTranslatorAndFileSystemService()
public void SaveItemFilterScript_CallsTranslatorAndFileSystemService()
{
// Arrange
var testFilePath = "C:\\Test\\File.txt";
var testScript = new LootFilterScript {FilePath = testFilePath};
var testScript = new ItemFilterScript {FilePath = testFilePath};
var testTranslatedScript = "Test translated script";
var mockFileSystemService = new Mock<IFileSystemService>();
mockFileSystemService.Setup(s => s.WriteFileFromString(testFilePath, testTranslatedScript)).Verifiable();
var mockLootFilterScriptTranslator = new Mock<ILootFilterScriptTranslator>();
mockLootFilterScriptTranslator.Setup(t => t.TranslateLootFilterScriptToString(testScript)).Returns(testTranslatedScript).Verifiable();
var mockItemFilterScriptTranslator = new Mock<IItemFilterScriptTranslator>();
mockItemFilterScriptTranslator.Setup(t => t.TranslateItemFilterScriptToString(testScript)).Returns(testTranslatedScript).Verifiable();
var service = new LootFilterPersistenceService(mockFileSystemService.Object, mockLootFilterScriptTranslator.Object);
var service = new ItemFilterPersistenceService(mockFileSystemService.Object, mockItemFilterScriptTranslator.Object);
// Act
service.SaveLootFilterScript(testScript);
service.SaveItemFilterScript(testScript);
// Assert
mockFileSystemService.Verify();
mockLootFilterScriptTranslator.Verify();
mockItemFilterScriptTranslator.Verify();
}
[Test]
@ -69,9 +69,9 @@ namespace Filtration.Tests.Services
mockFileSystemService.Setup(f => f.GetUserProfilePath()).Returns(TestUserProfilePath).Verifiable();
mockFileSystemService.Setup(f => f.DirectoryExists(TestUserProfilePath + "\\Documents\\My Games\\Path of Exile")).Returns(true).Verifiable();
var mockLootFilterScriptTranslator = new Mock<ILootFilterScriptTranslator>();
var mockItemFilterScriptTranslator = new Mock<IItemFilterScriptTranslator>();
var service = new LootFilterPersistenceService(mockFileSystemService.Object, mockLootFilterScriptTranslator.Object);
var service = new ItemFilterPersistenceService(mockFileSystemService.Object, mockItemFilterScriptTranslator.Object);
// Act
var result = service.DefaultPathOfExileDirectory();

View File

@ -13,7 +13,7 @@ namespace Filtration.Tests.Services
// Arrange
var mockFileSystemService = new Mock<IFileSystemService>();
mockFileSystemService.Setup(f => f.ReadFileAsString(It.IsAny<string>())).Verifiable();
mockFileSystemService.Setup(f => f.ReadFileAsString(It.IsAny<string>())).Returns("TestResult").Verifiable();
var service = new StaticDataService(mockFileSystemService.Object);

View File

@ -11,25 +11,25 @@ using NUnit.Framework;
namespace Filtration.Tests.Translators
{
[TestFixture]
public class TestLootFilterBlockTranslator
public class TestItemFilterBlockTranslator
{
private LootFilterBlockTranslatorTestUtility _testUtility;
private ItemFilterBlockTranslatorTestUtility _testUtility;
[SetUp]
public void LootFilterBlockTranslatorTestSetUp()
public void ItemFilterBlockTranslatorTestSetUp()
{
_testUtility = new LootFilterBlockTranslatorTestUtility();
_testUtility = new ItemFilterBlockTranslatorTestUtility();
}
[Test]
public void TranslateStringToLootFilterBlock_NoDescriptionComment_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_NoDescriptionComment_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" ItemLevel >= 55";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is ItemLevelBlockItem));
@ -39,13 +39,13 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_Hide_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_Hide_ReturnsCorrectObject()
{
// Arrange
var inputString = "Hide" + Environment.NewLine;
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is ActionBlockItem));
@ -53,7 +53,7 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_DescriptionComment_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_DescriptionComment_ReturnsCorrectObject()
{
// Arrange
var inputString = "# This is a test Block" + Environment.NewLine +
@ -61,7 +61,7 @@ namespace Filtration.Tests.Translators
" ItemLevel >= 55";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual("This is a test Block", result.Description);
@ -72,7 +72,7 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_MultiLineDescriptionComment_OnlyAddsLastCommentLineToDescription()
public void TranslateStringToItemFilterBlock_MultiLineDescriptionComment_OnlyAddsLastCommentLineToDescription()
{
// Arrange
var inputString = "#First line" + Environment.NewLine +
@ -81,7 +81,7 @@ namespace Filtration.Tests.Translators
" ItemLevel >= 55";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual("Second Line", result.Description);
@ -92,14 +92,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_DropLevel_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_DropLevel_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" DropLevel = 40";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
@ -110,14 +110,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_Quality_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_Quality_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" Quality < 18";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
@ -128,14 +128,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_Rarity_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_Rarity_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" Rarity > Normal";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
@ -146,14 +146,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_Rarity_WorksWithoutPredicateOperator()
public void TranslateStringToItemFilterBlock_Rarity_WorksWithoutPredicateOperator()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" Rarity Normal";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is RarityBlockItem));
@ -163,14 +163,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_Class_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_Class_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
@" Class ""Test Class 1"" ""TestOneWordClassInQuotes"" TestOneWordClassNotInQuotes ""Test Class 2""";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is ClassBlockItem));
@ -182,14 +182,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_BaseType_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_BaseType_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
@" BaseType ""Test Base Type 1"" ""TestOneWordBaseTypeInQuotes"" TestOneWordBaseTypeNotInQuotes ""Test BaseType 2""";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is BaseTypeBlockItem));
@ -201,14 +201,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_Sockets_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_Sockets_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" Sockets > 2";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
@ -219,14 +219,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_LinkedSockets_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_LinkedSockets_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" LinkedSockets != 1";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
@ -237,14 +237,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_Width_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_Width_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" Width != 1";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
@ -255,14 +255,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_Height_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_Height_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" Height <= 3";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
@ -273,14 +273,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_Height_PredicatesWorkWithoutSpaceBetweenOperatorAndOperand()
public void TranslateStringToItemFilterBlock_Height_PredicatesWorkWithoutSpaceBetweenOperatorAndOperand()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" Height <=3";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is HeightBlockItem));
@ -290,14 +290,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_SocketGroup_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_SocketGroup_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" SocketGroup RRGB";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is SocketGroupBlockItem));
@ -308,14 +308,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_SetTextColor_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_SetTextColor_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" SetTextColor 255 20 100";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is TextColorBlockItem));
@ -326,14 +326,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_SetTextColorWithAlpha_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_SetTextColorWithAlpha_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" SetTextColor 65 0 255 12";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is TextColorBlockItem));
@ -345,14 +345,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_SetBackgroundColor_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_SetBackgroundColor_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" SetBackgroundColor 255 20 100";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is BackgroundColorBlockItem));
@ -364,14 +364,14 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_SetBorderColor_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_SetBorderColor_ReturnsCorrectObject()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
" SetBorderColor 255 20 100";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is BorderColorBlockItem));
@ -382,7 +382,7 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_SetFontSize_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_SetFontSize_ReturnsCorrectObject()
{
// Arrange
@ -390,7 +390,7 @@ namespace Filtration.Tests.Translators
" SetFontSize 15";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is FontSizeBlockItem));
@ -399,7 +399,7 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_PlayAlertSoundWithoutVolume_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_PlayAlertSoundWithoutVolume_ReturnsCorrectObject()
{
// Arrange
@ -407,7 +407,7 @@ namespace Filtration.Tests.Translators
" PlayAlertSound 4";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is SoundBlockItem));
@ -417,7 +417,7 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_PlayAlertSoundWithVolume_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_PlayAlertSoundWithVolume_ReturnsCorrectObject()
{
// Arrange
@ -425,7 +425,7 @@ namespace Filtration.Tests.Translators
" PlayAlertSound 2 95";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is SoundBlockItem));
@ -435,22 +435,22 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_SectionComment_ReturnsLootFilterSectionObjectWithCorrectDescription()
public void TranslateStringToItemFilterBlock_SectionComment_ReturnsItemFilterSectionObjectWithCorrectDescription()
{
// Arrange
const string TestInputSectionDescription = "Wonderful items that you definitely won't want to miss!";
var inputString = "# Section: " + TestInputSectionDescription;
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.IsInstanceOf<LootFilterSection>(result);
Assert.IsInstanceOf<ItemFilterSection>(result);
Assert.AreEqual(TestInputSectionDescription, result.Description);
}
[Test]
public void TranslateStringToLootFilterBlock_Everything_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_Everything_ReturnsCorrectObject()
{
// Arrange
@ -475,7 +475,7 @@ namespace Filtration.Tests.Translators
" PlayAlertSound 3";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual("Test filter with everything", result.Description);
@ -546,7 +546,7 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_MultipleValues_ReturnsCorrectObject()
public void TranslateStringToItemFilterBlock_MultipleValues_ReturnsCorrectObject()
{
// Arrange
@ -557,7 +557,7 @@ namespace Filtration.Tests.Translators
" Quality < 17";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(2, result.BlockItems.Count(b => b is ItemLevelBlockItem));
@ -578,7 +578,7 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_MultipleTextColorItems_OnlyLastOneUsed()
public void TranslateStringToItemFilterBlock_MultipleTextColorItems_OnlyLastOneUsed()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
@ -586,7 +586,7 @@ namespace Filtration.Tests.Translators
" SetTextColor 255 20 100";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is TextColorBlockItem));
@ -597,7 +597,7 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_MultipleFontSizeItems_OnlyLastOneUsed()
public void TranslateStringToItemFilterBlock_MultipleFontSizeItems_OnlyLastOneUsed()
{
// Arrange
@ -607,7 +607,7 @@ namespace Filtration.Tests.Translators
" SetFontSize 27" + Environment.NewLine;
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is FontSizeBlockItem));
@ -616,7 +616,7 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_MultipleSoundItems_OnlyLastOneUsed()
public void TranslateStringToItemFilterBlock_MultipleSoundItems_OnlyLastOneUsed()
{
// Arrange
@ -626,7 +626,7 @@ namespace Filtration.Tests.Translators
" PlayAlertSound 2" + Environment.NewLine;
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is SoundBlockItem));
@ -636,7 +636,7 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_MultipleBackgroundColorItems_OnlyLastOneUsed()
public void TranslateStringToItemFilterBlock_MultipleBackgroundColorItems_OnlyLastOneUsed()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
@ -644,7 +644,7 @@ namespace Filtration.Tests.Translators
" SetBackgroundColor 255 20 100";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is BackgroundColorBlockItem));
@ -655,7 +655,7 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateStringToLootFilterBlock_MultipleBorderColorItems_OnlyLastOneUsed()
public void TranslateStringToItemFilterBlock_MultipleBorderColorItems_OnlyLastOneUsed()
{
// Arrange
var inputString = "Show" + Environment.NewLine +
@ -663,7 +663,7 @@ namespace Filtration.Tests.Translators
" SetBorderColor 255 20 100";
// Act
var result = _testUtility.Translator.TranslateStringToLootFilterBlock(inputString);
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString);
// Assert
Assert.AreEqual(1, result.BlockItems.Count(b => b is BorderColorBlockItem));
@ -674,20 +674,20 @@ namespace Filtration.Tests.Translators
}
[Test]
public void TranslateLootFilterBlockToString_NothingPopulated_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_NothingPopulated_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show";
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_FilterTypeHide_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_FilterTypeHide_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Hide";
@ -695,14 +695,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.Action = BlockAction.Hide;
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_FilterDescription_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_FilterDescription_ReturnsCorrectString()
{
// Arrange
var expectedResult = "# Test Block Description" + Environment.NewLine +
@ -711,14 +711,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.Description = "Test Block Description";
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_FilterDescriptionWithApostraphes_DoesNotDuplicateApostraphes()
public void TranslateItemFilterBlockToString_FilterDescriptionWithApostraphes_DoesNotDuplicateApostraphes()
{
// Arrange
var expectedResult = "# Test Block Descr'iption" + Environment.NewLine +
@ -727,14 +727,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.Description = "Test Block Descr'iption";
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_ItemLevel_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_ItemLevel_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -743,14 +743,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new ItemLevelBlockItem(FilterPredicateOperator.GreaterThanOrEqual, 56));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_DropLevel_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_DropLevel_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -759,14 +759,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new DropLevelBlockItem(FilterPredicateOperator.Equal, 23));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_Quality_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_Quality_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -775,14 +775,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new QualityBlockItem(FilterPredicateOperator.LessThan, 10));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_Rarity_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_Rarity_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -792,14 +792,14 @@ namespace Filtration.Tests.Translators
(int) ItemRarity.Rare));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_Classes_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_Classes_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -812,14 +812,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(classBlockItem);
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_Classes_DoesNotDuplicateApostraphes()
public void TranslateItemFilterBlockToString_Classes_DoesNotDuplicateApostraphes()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -830,14 +830,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(classBlockItem);
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_BaseTypes_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_BaseTypes_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -850,14 +850,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(baseTypeBlockItem);
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_Sockets_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_Sockets_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -866,14 +866,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new SocketsBlockItem(FilterPredicateOperator.GreaterThanOrEqual, 5));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_SocketGroup_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_SocketGroup_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -885,14 +885,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(socketGroupBlockItem);
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_LinkedSockets_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_LinkedSockets_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -901,14 +901,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new LinkedSocketsBlockItem(FilterPredicateOperator.NotEqual, 3));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_Width_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_Width_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -917,14 +917,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new WidthBlockItem(FilterPredicateOperator.Equal, 4));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_Height_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_Height_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -933,14 +933,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new HeightBlockItem(FilterPredicateOperator.GreaterThan, 1));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_TextColorMaxAlpha_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_TextColorMaxAlpha_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -949,14 +949,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new TextColorBlockItem(new Color {A = 255, R = 54, G = 102, B = 255}));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_TextColorNotMaxAlpha_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_TextColorNotMaxAlpha_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -965,14 +965,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new TextColorBlockItem(new Color {A = 66, R = 54, G = 102, B = 255}));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_BackgroundColorNotMaxAlpha_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_BackgroundColorNotMaxAlpha_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -982,14 +982,14 @@ namespace Filtration.Tests.Translators
new BackgroundColorBlockItem(new Color {A = 69, R = 12, G = 0, B = 212}));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_BorderColorNotMaxAlpha_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_BorderColorNotMaxAlpha_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -998,14 +998,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new BorderColorBlockItem(new Color {A = 1, R = 128, G = 32, B = 0}));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_FontSize_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_FontSize_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -1014,14 +1014,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new FontSizeBlockItem(15));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_Sound_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_Sound_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -1030,14 +1030,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new SoundBlockItem(2, 50));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_MultipleItemLevel_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_MultipleItemLevel_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -1050,14 +1050,14 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new ItemLevelBlockItem(FilterPredicateOperator.LessThan, 100));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_MultipleFontSize_UsesFirstFontSize()
public void TranslateItemFilterBlockToString_MultipleFontSize_UsesFirstFontSize()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -1070,30 +1070,30 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new FontSizeBlockItem(15));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_Section_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_Section_ReturnsCorrectString()
{
// Arrange
var TestInputSectionText = "Ermagerd it's a section!";
var expectedResult = "# Section: " + TestInputSectionText;
_testUtility.TestBlock = new LootFilterSection { Description = TestInputSectionText };
_testUtility.TestBlock = new ItemFilterSection { Description = TestInputSectionText };
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
[Test]
public void TranslateLootFilterBlockToString_Everything_ReturnsCorrectString()
public void TranslateItemFilterBlockToString_Everything_ReturnsCorrectString()
{
// Arrange
var expectedResult = "Show" + Environment.NewLine +
@ -1145,25 +1145,25 @@ namespace Filtration.Tests.Translators
_testUtility.TestBlock.BlockItems.Add(new SoundBlockItem(6, 90));
// Act
var result = _testUtility.Translator.TranslateLootFilterBlockToString(_testUtility.TestBlock);
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
// Assert
Assert.AreEqual(expectedResult, result);
}
private class LootFilterBlockTranslatorTestUtility
private class ItemFilterBlockTranslatorTestUtility
{
public LootFilterBlockTranslatorTestUtility()
public ItemFilterBlockTranslatorTestUtility()
{
// Test Data
TestBlock = new LootFilterBlock();
TestBlock = new ItemFilterBlock();
// Class under test instantiation
Translator = new LootFilterBlockTranslator();
Translator = new ItemFilterBlockTranslator();
}
public LootFilterBlock TestBlock { get; set; }
public LootFilterBlockTranslator Translator { get; private set; }
public ItemFilterBlock TestBlock { get; set; }
public ItemFilterBlockTranslator Translator { get; private set; }
}
}
}

View File

@ -11,45 +11,45 @@ using NUnit.Framework;
namespace Filtration.Tests.Translators
{
[TestFixture]
public class TestLootFilterScriptTranslator
public class TestItemFilterScriptTranslator
{
[Test]
public void TranslateStringToLootFilterScript_ReturnsScriptWithCorrectNumberOfBlocks()
public void TranslateStringToItemFilterScript_ReturnsScriptWithCorrectNumberOfBlocks()
{
// Arrange
var testInput = File.ReadAllText(@"Resources/testscript.txt");
var mockLootFilterBlockTranslator = new Mock<ILootFilterBlockTranslator>();
mockLootFilterBlockTranslator.Setup(t => t.TranslateStringToLootFilterBlock(It.IsAny<string>())).Verifiable();
var mockItemFilterBlockTranslator = new Mock<IItemFilterBlockTranslator>();
mockItemFilterBlockTranslator.Setup(t => t.TranslateStringToItemFilterBlock(It.IsAny<string>())).Verifiable();
var translator = new LootFilterScriptTranslator(mockLootFilterBlockTranslator.Object);
var translator = new ItemFilterScriptTranslator(mockItemFilterBlockTranslator.Object);
// Act
var script = translator.TranslateStringToLootFilterScript(testInput);
var script = translator.TranslateStringToItemFilterScript(testInput);
// Assert
Assert.AreEqual(5, script.LootFilterBlocks.Count);
mockLootFilterBlockTranslator.Verify();
Assert.AreEqual(5, script.ItemFilterBlocks.Count);
mockItemFilterBlockTranslator.Verify();
}
[Test]
public void TranslateStringToLootFilterScript_ReturnsScriptWithDescriptionCorrectlySet()
public void TranslateStringToItemFilterScript_ReturnsScriptWithDescriptionCorrectlySet()
{
// Arrange
var testInput = File.ReadAllText(@"Resources/testscript.txt");
var expectedDescription = "Loot Filter Script created by Filtration v0.1 - www.github.com/XVar/filtration" + Environment.NewLine +
var expectedDescription = "Item Filter Script created by Filtration v0.1 - www.github.com/XVar/filtration" + Environment.NewLine +
"Begin Script Description" + Environment.NewLine +
"This is a test script" + Environment.NewLine +
Environment.NewLine +
"End Script Description";
var mockLootFilterBlockTranslator = new Mock<ILootFilterBlockTranslator>();
mockLootFilterBlockTranslator.Setup(t => t.TranslateStringToLootFilterBlock(It.IsAny<string>())).Verifiable();
var mockItemFilterBlockTranslator = new Mock<IItemFilterBlockTranslator>();
mockItemFilterBlockTranslator.Setup(t => t.TranslateStringToItemFilterBlock(It.IsAny<string>())).Verifiable();
var translator = new LootFilterScriptTranslator(mockLootFilterBlockTranslator.Object);
var translator = new ItemFilterScriptTranslator(mockItemFilterBlockTranslator.Object);
// Act
var script = translator.TranslateStringToLootFilterScript(testInput);
var script = translator.TranslateStringToItemFilterScript(testInput);
// Assert
Assert.AreEqual(expectedDescription, script.Description);
@ -57,69 +57,68 @@ namespace Filtration.Tests.Translators
[Ignore("Integration Test")]
[Test]
public void TranslateStringToLootFilterScript_ThioleLootFilterTest()
public void TranslateStringToItemFilterScript_ThioleItemFilterTest()
{
// Arrange
var testInput = File.ReadAllText(@"Resources/ThioleLootFilter.txt");
var testInput = File.ReadAllText(@"Resources/ThioleItemFilter.txt");
var BlockTranslator = new LootFilterBlockTranslator();
var translator = new LootFilterScriptTranslator(BlockTranslator);
var BlockTranslator = new ItemFilterBlockTranslator();
var translator = new ItemFilterScriptTranslator(BlockTranslator);
// Act
var script = translator.TranslateStringToLootFilterScript(testInput);
var script = translator.TranslateStringToItemFilterScript(testInput);
// Assert
// Not crashing out when loading a huge script means this integration test has passed!
}
[Test]
public void TranslateLootFilterScriptToString_OneBlock_CallsTranslator()
public void TranslateItemFilterScriptToString_OneBlock_CallsTranslator()
{
// Arrange
var testScript = new LootFilterScript();
var testScript = new ItemFilterScript();
var testBlock = new LootFilterBlock();
var testBlock = new ItemFilterBlock();
testBlock.BlockItems.Add(new ItemLevelBlockItem(FilterPredicateOperator.Equal, 5));
var BlockOutput = "Test Script Output";
var expectedOutput = "Test Script Output" + Environment.NewLine + Environment.NewLine;
testScript.LootFilterBlocks.Add(testBlock);
testScript.ItemFilterBlocks.Add(testBlock);
var mockLootFilterBlockTranslator = new Mock<ILootFilterBlockTranslator>();
mockLootFilterBlockTranslator.Setup(t => t.TranslateLootFilterBlockToString(testBlock)).Returns(BlockOutput).Verifiable();
var mockItemFilterBlockTranslator = new Mock<IItemFilterBlockTranslator>();
mockItemFilterBlockTranslator.Setup(t => t.TranslateItemFilterBlockToString(testBlock)).Returns(BlockOutput).Verifiable();
var translator = new LootFilterScriptTranslator(mockLootFilterBlockTranslator.Object);
var translator = new ItemFilterScriptTranslator(mockItemFilterBlockTranslator.Object);
// Act
var result = translator.TranslateLootFilterScriptToString(testScript);
var result = translator.TranslateItemFilterScriptToString(testScript);
// Assert
Assert.AreEqual(expectedOutput, result);
mockLootFilterBlockTranslator.Verify();
mockItemFilterBlockTranslator.Verify();
}
[Test]
public void TranslateLootFilterScriptToString_FullScript_ReturnsCorrectOutput()
public void TranslateItemFilterScriptToString_FullScript_ReturnsCorrectOutput()
{
var script = new LootFilterScript
var script = new ItemFilterScript
{
Description = "Test script description" + Environment.NewLine +
"This is a really great script!" + Environment.NewLine +
"Multiple line script descriptions are fun!"
};
var block1 = new LootFilterBlock {Description = "Test Filter 1"};
var block1 = new ItemFilterBlock {Description = "Test Filter 1"};
block1.BlockItems.Add(new ItemLevelBlockItem(FilterPredicateOperator.GreaterThan, 5));
var block2 = new LootFilterBlock();
var block2 = new ItemFilterBlock();
block2.BlockItems.Add(new QualityBlockItem(FilterPredicateOperator.LessThan, 15));
block2.BlockItems.Add(new FontSizeBlockItem(7));
block2.BlockItems.Add(new WidthBlockItem(FilterPredicateOperator.Equal, 3));
script.LootFilterBlocks.Add(block1);
script.LootFilterBlocks.Add(block2);
script.ItemFilterBlocks.Add(block1);
script.ItemFilterBlocks.Add(block2);
var expectedOutput = "# Script edited with Filtration - http://ben-wallis.github.io/Filtration/" + Environment.NewLine +
var expectedOutput = "# Script edited with Filtration - https://github.com/ben-wallis/Filtration" + Environment.NewLine +
"# Test script description" + Environment.NewLine +
"# This is a really great script!" + Environment.NewLine +
"# Multiple line script descriptions are fun!" + Environment.NewLine +
@ -133,41 +132,41 @@ namespace Filtration.Tests.Translators
" Width = 3" + Environment.NewLine +
" SetFontSize 7" + Environment.NewLine + Environment.NewLine;
var blockTranslator = new LootFilterBlockTranslator();
var translator = new LootFilterScriptTranslator(blockTranslator);
var blockTranslator = new ItemFilterBlockTranslator();
var translator = new ItemFilterScriptTranslator(blockTranslator);
// Act
var result = translator.TranslateLootFilterScriptToString(script);
var result = translator.TranslateItemFilterScriptToString(script);
// Assert
Assert.AreEqual(expectedOutput, result);
}
[Test]
public void TranslateLootFilterScriptToString_FullScriptWithExistingFiltrationTagline_ReturnsCorrectOutput()
public void TranslateItemFilterScriptToString_FullScriptWithExistingFiltrationTagline_ReturnsCorrectOutput()
{
var script = new LootFilterScript
var script = new ItemFilterScript
{
Description = "Script edited with Filtration - http://ben-wallis.github.io/Filtration/" + Environment.NewLine +
Description = "Script edited with Filtration - https://github.com/ben-wallis/Filtration" + Environment.NewLine +
"Test script description" + Environment.NewLine
};
var expectedOutput = "# Script edited with Filtration - http://ben-wallis.github.io/Filtration/" +
var expectedOutput = "# Script edited with Filtration - https://github.com/ben-wallis/Filtration" +
Environment.NewLine +
"# Test script description" + Environment.NewLine + Environment.NewLine;
var blockTranslator = new LootFilterBlockTranslator();
var translator = new LootFilterScriptTranslator(blockTranslator);
var blockTranslator = new ItemFilterBlockTranslator();
var translator = new ItemFilterScriptTranslator(blockTranslator);
// Act
var result = translator.TranslateLootFilterScriptToString(script);
var result = translator.TranslateItemFilterScriptToString(script);
// Assert
Assert.AreEqual(expectedOutput, result);
}
[Test]
public void TranslateStringToLootFilterScript_SectionDirectlyBeforeBlockWithoutDescription_ReturnsCorrectObject()
public void TranslateStringToItemFilterScript_SectionDirectlyBeforeBlockWithoutDescription_ReturnsCorrectObject()
{
// Arrange
var testInputScript = "# My Script" + Environment.NewLine +
@ -178,15 +177,15 @@ namespace Filtration.Tests.Translators
" SetBorderColor 255 0 255" + Environment.NewLine +
" SetFontSize 25";
var blockTranslator = new LootFilterBlockTranslator();
var translator = new LootFilterScriptTranslator(blockTranslator);
var blockTranslator = new ItemFilterBlockTranslator();
var translator = new ItemFilterScriptTranslator(blockTranslator);
// Act
var result = translator.TranslateStringToLootFilterScript(testInputScript);
var result = translator.TranslateStringToItemFilterScript(testInputScript);
// Assert
Assert.AreEqual(2, result.LootFilterBlocks.Count);
var block = result.LootFilterBlocks.First(l => l.GetType() != typeof(LootFilterSection));
Assert.AreEqual(2, result.ItemFilterBlocks.Count);
var block = result.ItemFilterBlocks.First(l => l.GetType() != typeof(ItemFilterSection));
Assert.AreEqual(4, block.BlockItems.Count);
var baseTypeItem = block.BlockItems.OfType<BaseTypeBlockItem>().First();
Assert.AreEqual(2, baseTypeItem.Items.Count);

View File

@ -9,7 +9,7 @@ namespace Filtration.Converters
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var test = (ILootFilterBlockItem)Activator.CreateInstance((Type) value);
var test = (IItemFilterBlockItem)Activator.CreateInstance((Type) value);
return test.DisplayHeading;
}

View File

@ -130,19 +130,20 @@
<Compile Include="Models\BlockItemTypes\QualityBlockItem.cs" />
<Compile Include="Models\BlockItemTypes\ItemLevelBlockItem.cs" />
<Compile Include="Models\IAudioVisualBlockItem.cs" />
<Compile Include="Models\LootFilterBlock.cs" />
<Compile Include="Models\ILootFilterBlockItem.cs" />
<Compile Include="Models\LootFilterScript.cs" />
<Compile Include="Models\LootFilterSection.cs" />
<Compile Include="Models\ItemFilterBlockGroup.cs" />
<Compile Include="Models\ItemFilterBlock.cs" />
<Compile Include="Models\IItemFilterBlockItem.cs" />
<Compile Include="Models\ItemFilterScript.cs" />
<Compile Include="Models\ItemFilterSection.cs" />
<Compile Include="Models\NumericFilterPredicate.cs" />
<Compile Include="Models\BlockItemBaseTypes\SocketGroupBlockItemBase.cs" />
<Compile Include="Models\ReplaceColorsParameterSet.cs" />
<Compile Include="Properties\Annotations.cs" />
<Compile Include="Services\FileSystemService.cs" />
<Compile Include="Services\LootFilterPersistenceService.cs" />
<Compile Include="Services\ItemFilterPersistenceService.cs" />
<Compile Include="Services\StaticDataService.cs" />
<Compile Include="Translators\LootFilterBlockTranslator.cs" />
<Compile Include="Translators\LootFilterScriptTranslator.cs" />
<Compile Include="Translators\ItemFilterBlockTranslator.cs" />
<Compile Include="Translators\ItemFilterScriptTranslator.cs" />
<Compile Include="UserControls\AutoScrollingListBox.cs" />
<Compile Include="UserControls\CrossButton.cs" />
<Compile Include="UserControls\EditableListBoxControl.xaml.cs">
@ -153,27 +154,27 @@
</Compile>
<Compile Include="Utilities\LineReader.cs" />
<Compile Include="ViewModels\FiltrationViewModelBase.cs" />
<Compile Include="ViewModels\ILootFilterScriptViewModelFactory.cs" />
<Compile Include="ViewModels\ILootFilterBlockViewModelFactory.cs" />
<Compile Include="ViewModels\LootFilterBlockViewModel.cs" />
<Compile Include="ViewModels\LootFilterScriptViewModel.cs" />
<Compile Include="ViewModels\IItemFilterScriptViewModelFactory.cs" />
<Compile Include="ViewModels\IItemFilterBlockViewModelFactory.cs" />
<Compile Include="ViewModels\ItemFilterBlockViewModel.cs" />
<Compile Include="ViewModels\ItemFilterScriptViewModel.cs" />
<Compile Include="ViewModels\ReplaceColorsViewModel.cs" />
<Compile Include="Views\BindingProxy.cs" />
<Compile Include="Views\BlockTemplateSelector.cs" />
<Compile Include="Views\LootFilterBlockDisplaySettingsView.xaml.cs">
<DependentUpon>LootFilterBlockDisplaySettingsView.xaml</DependentUpon>
<Compile Include="Views\ItemFilterBlockDisplaySettingsView.xaml.cs">
<DependentUpon>ItemFilterBlockDisplaySettingsView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\LootFilterScriptView.xaml.cs">
<DependentUpon>LootFilterScriptView.xaml</DependentUpon>
<Compile Include="Views\ItemFilterScriptView.xaml.cs">
<DependentUpon>ItemFilterScriptView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\LootFilterBlockView.xaml.cs">
<DependentUpon>LootFilterBlockView.xaml</DependentUpon>
<Compile Include="Views\ItemFilterBlockView.xaml.cs">
<DependentUpon>ItemFilterBlockView.xaml</DependentUpon>
</Compile>
<Compile Include="UserControls\NumericFilterPredicateControl.xaml.cs">
<DependentUpon>NumericFilterPredicateControl.xaml</DependentUpon>
</Compile>
<Compile Include="Views\LootFilterSectionView.xaml.cs">
<DependentUpon>LootFilterSectionView.xaml</DependentUpon>
<Compile Include="Views\ItemFilterSectionView.xaml.cs">
<DependentUpon>ItemFilterSectionView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\AboutWindow.xaml.cs">
<DependentUpon>AboutWindow.xaml</DependentUpon>
@ -206,7 +207,7 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\LootFilterBlockDisplaySettingsView.xaml">
<Page Include="Views\ItemFilterBlockDisplaySettingsView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
@ -214,15 +215,15 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\LootFilterScriptView.xaml">
<Page Include="Views\ItemFilterScriptView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\LootFilterBlockView.xaml">
<Page Include="Views\ItemFilterBlockView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\LootFilterSectionView.xaml">
<Page Include="Views\ItemFilterSectionView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>

View File

@ -5,7 +5,7 @@ using Filtration.Annotations;
namespace Filtration.Models.BlockItemBaseTypes
{
abstract class BlockItemBase : ILootFilterBlockItem
abstract class BlockItemBase : IItemFilterBlockItem
{
public abstract string PrefixText { get; }
public abstract int MaximumAllowed { get; }

View File

@ -3,7 +3,7 @@ using System.Windows.Media;
namespace Filtration.Models
{
internal interface ILootFilterBlockItem : INotifyPropertyChanged
internal interface IItemFilterBlockItem : INotifyPropertyChanged
{
string PrefixText { get; }
int MaximumAllowed { get; }

View File

@ -3,15 +3,14 @@ using System.Collections.ObjectModel;
using System.Linq;
using Filtration.Enums;
using Filtration.Models.BlockItemBaseTypes;
using Filtration.Models.BlockItemTypes;
namespace Filtration.Models
{
internal class LootFilterBlock
internal class ItemFilterBlock
{
public LootFilterBlock()
public ItemFilterBlock()
{
BlockItems = new ObservableCollection<ILootFilterBlockItem> {new ActionBlockItem(BlockAction.Show)};
BlockItems = new ObservableCollection<IItemFilterBlockItem> {new ActionBlockItem(BlockAction.Show)};
}
public string Description { get; set; }
@ -30,7 +29,7 @@ namespace Filtration.Models
}
}
public ObservableCollection<ILootFilterBlockItem> BlockItems { get; private set; }
public ObservableCollection<IItemFilterBlockItem> BlockItems { get; private set; }
public int BlockCount(Type type)
{
@ -39,7 +38,7 @@ namespace Filtration.Models
public bool AddBlockItemAllowed(Type type)
{
var blockItem = (ILootFilterBlockItem)Activator.CreateInstance(type);
var blockItem = (IItemFilterBlockItem)Activator.CreateInstance(type);
return BlockCount(type) < blockItem.MaximumAllowed;
}

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Filtration.Models
{
class ItemFilterBlockGroup
{
}
}

View File

@ -3,19 +3,17 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using Filtration.Models.BlockItemTypes;
using Filtration.ViewModels;
using Filtration.Views;
namespace Filtration.Models
{
internal class LootFilterScript
internal class ItemFilterScript
{
public LootFilterScript()
public ItemFilterScript()
{
LootFilterBlocks = new ObservableCollection<LootFilterBlock>();
ItemFilterBlocks = new ObservableCollection<ItemFilterBlock>();
}
public ObservableCollection<LootFilterBlock> LootFilterBlocks { get; set; }
public ObservableCollection<ItemFilterBlock> ItemFilterBlocks { get; set; }
public string FilePath { get; set; }
public string Description { get; set; }
public DateTime DateModified { get; set; }
@ -24,7 +22,7 @@ namespace Filtration.Models
{
var validationErrors = new List<string>();
if (LootFilterBlocks.Count == 0)
if (ItemFilterBlocks.Count == 0)
{
validationErrors.Add("A script must have at least one block");
}
@ -37,7 +35,7 @@ namespace Filtration.Models
foreach (
var block in
LootFilterBlocks.Where(b => BlockIsColorReplacementCandidate(replaceColorsParameterSet, b)))
ItemFilterBlocks.Where(b => BlockIsColorReplacementCandidate(replaceColorsParameterSet, b)))
{
if (replaceColorsParameterSet.ReplaceTextColor)
{
@ -58,7 +56,7 @@ namespace Filtration.Models
}
private bool BlockIsColorReplacementCandidate(ReplaceColorsParameterSet replaceColorsParameterSet, LootFilterBlock block)
private bool BlockIsColorReplacementCandidate(ReplaceColorsParameterSet replaceColorsParameterSet, ItemFilterBlock block)
{
var textColorItem = block.HasBlockItemOfType<TextColorBlockItem>()
? block.BlockItems.OfType<TextColorBlockItem>().First()

View File

@ -0,0 +1,6 @@
namespace Filtration.Models
{
internal class ItemFilterSection : ItemFilterBlock
{
}
}

View File

@ -1,6 +0,0 @@
namespace Filtration.Models
{
internal class LootFilterSection : LootFilterBlock
{
}
}

View File

@ -7,7 +7,7 @@ using System.Windows;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Filtration")]
[assembly: AssemblyDescription("A loot filter script manager for Path of Exile")]
[assembly: AssemblyDescription("An item filter script manager for Path of Exile")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("XVar Industries Inc.")]
[assembly: AssemblyProduct("Filtration")]

View File

@ -3,41 +3,41 @@ using Filtration.Translators;
namespace Filtration.Services
{
internal interface ILootFilterPersistenceService
internal interface IItemFilterPersistenceService
{
string LootFilterScriptDirectory { get; set; }
LootFilterScript LoadLootFilterScript(string filePath);
void SaveLootFilterScript(LootFilterScript script);
string ItemFilterScriptDirectory { get; set; }
ItemFilterScript LoadItemFilterScript(string filePath);
void SaveItemFilterScript(ItemFilterScript script);
string DefaultPathOfExileDirectory();
}
internal class LootFilterPersistenceService : ILootFilterPersistenceService
internal class ItemFilterPersistenceService : IItemFilterPersistenceService
{
private readonly IFileSystemService _fileSystemService;
private readonly ILootFilterScriptTranslator _lootFilterScriptTranslator;
private readonly IItemFilterScriptTranslator _itemFilterScriptTranslator;
public LootFilterPersistenceService(IFileSystemService fileSystemService, ILootFilterScriptTranslator lootFilterScriptTranslator)
public ItemFilterPersistenceService(IFileSystemService fileSystemService, IItemFilterScriptTranslator itemFilterScriptTranslator)
{
_fileSystemService = fileSystemService;
_lootFilterScriptTranslator = lootFilterScriptTranslator;
_itemFilterScriptTranslator = itemFilterScriptTranslator;
}
public string LootFilterScriptDirectory { get; set; }
public string ItemFilterScriptDirectory { get; set; }
public LootFilterScript LoadLootFilterScript(string filePath)
public ItemFilterScript LoadItemFilterScript(string filePath)
{
var script =
_lootFilterScriptTranslator.TranslateStringToLootFilterScript(
_itemFilterScriptTranslator.TranslateStringToItemFilterScript(
_fileSystemService.ReadFileAsString(filePath));
script.FilePath = filePath;
return script;
}
public void SaveLootFilterScript(LootFilterScript script)
public void SaveItemFilterScript(ItemFilterScript script)
{
_fileSystemService.WriteFileFromString(script.FilePath,
_lootFilterScriptTranslator.TranslateLootFilterScriptToString(script));
_itemFilterScriptTranslator.TranslateItemFilterScriptToString(script));
}
public string DefaultPathOfExileDirectory()

View File

@ -13,28 +13,28 @@ using Filtration.Utilities;
namespace Filtration.Translators
{
internal interface ILootFilterBlockTranslator
internal interface IItemFilterBlockTranslator
{
LootFilterBlock TranslateStringToLootFilterBlock(string inputString);
string TranslateLootFilterBlockToString(LootFilterBlock block);
ItemFilterBlock TranslateStringToItemFilterBlock(string inputString);
string TranslateItemFilterBlockToString(ItemFilterBlock block);
}
internal class LootFilterBlockTranslator : ILootFilterBlockTranslator
internal class ItemFilterBlockTranslator : IItemFilterBlockTranslator
{
private const string Indent = " ";
private readonly string _newLine = Environment.NewLine + Indent;
// This method converts a string into a LootFilterBlock. This is used for pasting LootFilterBlocks
// and reading LootFilterScripts from a file.
public LootFilterBlock TranslateStringToLootFilterBlock(string inputString)
// This method converts a string into a ItemFilterBlock. This is used for pasting ItemFilterBlocks
// and reading ItemFilterScripts from a file.
public ItemFilterBlock TranslateStringToItemFilterBlock(string inputString)
{
var block = new LootFilterBlock();
var block = new ItemFilterBlock();
var showHideFound = false;
foreach (var line in new LineReader(() => new StringReader(inputString)))
{
if (line.StartsWith(@"# Section:"))
{
var section = new LootFilterSection
var section = new ItemFilterSection
{
Description = line.Substring(line.IndexOf(":", StringComparison.Ordinal) + 1).Trim()
};
@ -215,7 +215,7 @@ namespace Filtration.Translators
return block;
}
private static void RemoveExistingBlockItemsOfType<T>(LootFilterBlock block)
private static void RemoveExistingBlockItemsOfType<T>(ItemFilterBlock block)
{
var existingBlockItemCount = block.BlockItems.Count(b => b.GetType() == typeof(T));
if (existingBlockItemCount > 0)
@ -225,7 +225,7 @@ namespace Filtration.Translators
}
}
private static void AddNumericFilterPredicateItemToBlockItems<T>(LootFilterBlock block, string inputString) where T : NumericFilterPredicateBlockItem
private static void AddNumericFilterPredicateItemToBlockItems<T>(ItemFilterBlock block, string inputString) where T : NumericFilterPredicateBlockItem
{
var blockItem = Activator.CreateInstance<T>();
@ -243,7 +243,7 @@ namespace Filtration.Translators
predicate.PredicateOperand = Convert.ToInt16(result.Groups[2].Value);
}
private static void AddStringListItemToBlockItems<T>(LootFilterBlock block, string inputString) where T : StringListBlockItem
private static void AddStringListItemToBlockItems<T>(ItemFilterBlock block, string inputString) where T : StringListBlockItem
{
var blockItem = Activator.CreateInstance<T>();
PopulateListFromString(blockItem.Items, inputString.Substring(inputString.IndexOf(" ", StringComparison.Ordinal) + 1).Trim());
@ -261,7 +261,7 @@ namespace Filtration.Translators
}
}
private static void AddColorItemToBlockItems<T>(LootFilterBlock block, string inputString) where T : ColorBlockItem
private static void AddColorItemToBlockItems<T>(ItemFilterBlock block, string inputString) where T : ColorBlockItem
{
var blockItem = Activator.CreateInstance<T>();
blockItem.Color = GetColorFromString(inputString);
@ -294,11 +294,11 @@ namespace Filtration.Translators
return new Color();
}
// This method converts a LootFilterBlock object into a string. This is used for copying a LootFilterBlock
// to the clipboard, and when saving a LootFilterScript.
public string TranslateLootFilterBlockToString(LootFilterBlock block)
// This method converts a ItemFilterBlock object into a string. This is used for copying a ItemFilterBlock
// to the clipboard, and when saving a ItemFilterScript.
public string TranslateItemFilterBlockToString(ItemFilterBlock block)
{
if (block.GetType() == typeof (LootFilterSection))
if (block.GetType() == typeof (ItemFilterSection))
{
return "# Section: " + block.Description;
}
@ -312,7 +312,7 @@ namespace Filtration.Translators
outputString += block.Action.GetAttributeDescription();
// This could be refactored to use the upcasted NumericFilterPredicateBlockItem (or even ILootFilterBlockItem) instead
// This could be refactored to use the upcasted NumericFilterPredicateBlockItem (or even IItemFilterBlockItem) instead
// of the specific downcasts. Leaving it like this currently to preserve sorting since the different
// downcasts have no defined sort order (yet).
foreach (var blockItem in block.BlockItems.OfType<ItemLevelBlockItem>())

View File

@ -7,24 +7,24 @@ using Filtration.Utilities;
namespace Filtration.Translators
{
internal interface ILootFilterScriptTranslator
internal interface IItemFilterScriptTranslator
{
LootFilterScript TranslateStringToLootFilterScript(string inputString);
string TranslateLootFilterScriptToString(LootFilterScript script);
ItemFilterScript TranslateStringToItemFilterScript(string inputString);
string TranslateItemFilterScriptToString(ItemFilterScript script);
}
internal class LootFilterScriptTranslator : ILootFilterScriptTranslator
internal class ItemFilterScriptTranslator : IItemFilterScriptTranslator
{
private readonly ILootFilterBlockTranslator _blockTranslator;
private readonly IItemFilterBlockTranslator _blockTranslator;
public LootFilterScriptTranslator(ILootFilterBlockTranslator blockTranslator)
public ItemFilterScriptTranslator(IItemFilterBlockTranslator blockTranslator)
{
_blockTranslator = blockTranslator;
}
public LootFilterScript TranslateStringToLootFilterScript(string inputString)
public ItemFilterScript TranslateStringToItemFilterScript(string inputString)
{
var script = new LootFilterScript();
var script = new ItemFilterScript();
inputString = inputString.Replace("\t", "");
var conditionBoundaries = IdentifyBlockBoundaries(inputString);
@ -40,8 +40,8 @@ namespace Filtration.Translators
}
script.Description = script.Description.TrimEnd('\n').TrimEnd('\r');
// Extract each block from between boundaries and translate it into a LootFilterBlock object
// and add that object to the LootFilterBlocks list
// Extract each block from between boundaries and translate it into a ItemFilterBlock object
// and add that object to the ItemFilterBlocks list
for (var boundary = conditionBoundaries.First; boundary != null; boundary = boundary.Next)
{
var begin = boundary.Value;
@ -49,7 +49,7 @@ namespace Filtration.Translators
var block = new string[end - begin];
Array.Copy(lines, begin, block, 0, end - begin);
var blockString = string.Join("\r\n", block);
script.LootFilterBlocks.Add(_blockTranslator.TranslateStringToLootFilterBlock(blockString));
script.ItemFilterBlocks.Add(_blockTranslator.TranslateStringToItemFilterBlock(blockString));
}
return script;
@ -78,7 +78,7 @@ namespace Filtration.Translators
return blockBoundaries;
}
public string TranslateLootFilterScriptToString(LootFilterScript script)
public string TranslateItemFilterScriptToString(ItemFilterScript script)
{
var outputString = string.Empty;
@ -99,9 +99,9 @@ namespace Filtration.Translators
}
// ReSharper disable once LoopCanBeConvertedToQuery
foreach (var block in script.LootFilterBlocks)
foreach (var block in script.ItemFilterBlocks)
{
outputString += _blockTranslator.TranslateLootFilterBlockToString(block) + Environment.NewLine + Environment.NewLine;
outputString += _blockTranslator.TranslateItemFilterBlockToString(block) + Environment.NewLine + Environment.NewLine;
}
return outputString;

View File

@ -26,7 +26,7 @@
VerticalAlignment="Stretch" SelectionMode="Single" x:Name="ControlListBox" BorderBrush="#CCCCCC">
<ListBox.Resources>
<Style TargetType="ListBoxItem">
<!-- Undo the style that we set in the parent LootFilterScriptView to hide the condition selections -->
<!-- Undo the style that we set in the parent ItemFilterScriptView to hide the condition selections -->
<Style.Resources>
<!-- SelectedItem with focus -->
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Silver" />

View File

@ -0,0 +1,8 @@
namespace Filtration.ViewModels
{
internal interface IItemFilterBlockViewModelFactory
{
IItemFilterBlockViewModel Create();
void Release(IItemFilterBlockViewModel itemFilterBlockViewModel);
}
}

View File

@ -0,0 +1,8 @@
namespace Filtration.ViewModels
{
internal interface IItemFilterScriptViewModelFactory
{
IItemFilterScriptViewModel Create();
void Release(IItemFilterScriptViewModel itemFilterScriptViewModel);
}
}

View File

@ -1,8 +0,0 @@
namespace Filtration.ViewModels
{
internal interface ILootFilterBlockViewModelFactory
{
ILootFilterBlockViewModel Create();
void Release(ILootFilterBlockViewModel lootFilterBlockViewModel);
}
}

View File

@ -1,8 +0,0 @@
namespace Filtration.ViewModels
{
internal interface ILootFilterScriptViewModelFactory
{
ILootFilterScriptViewModel Create();
void Release(ILootFilterScriptViewModel lootFilterScriptViewModel);
}
}

View File

@ -14,23 +14,23 @@ using GalaSoft.MvvmLight.CommandWpf;
namespace Filtration.ViewModels
{
internal interface ILootFilterBlockViewModel
internal interface IItemFilterBlockViewModel
{
void Initialise(LootFilterBlock lootFilterBlock, LootFilterScriptViewModel parentScriptViewModel);
void Initialise(ItemFilterBlock itemFilterBlock, ItemFilterScriptViewModel parentScriptViewModel);
bool IsDirty { get; set; }
LootFilterBlock Block { get; }
ItemFilterBlock Block { get; }
}
internal class LootFilterBlockViewModel : FiltrationViewModelBase, ILootFilterBlockViewModel
internal class ItemFilterBlockViewModel : FiltrationViewModelBase, IItemFilterBlockViewModel
{
private readonly IStaticDataService _staticDataService;
private readonly IReplaceColorsViewModel _replaceColorsViewModel;
private readonly MediaPlayer _mediaPlayer = new MediaPlayer();
private LootFilterScriptViewModel _parentScriptViewModel;
private ItemFilterScriptViewModel _parentScriptViewModel;
private bool _displaySettingsPopupOpen;
public LootFilterBlockViewModel(IStaticDataService staticDataService, IReplaceColorsViewModel replaceColorsViewModel)
public ItemFilterBlockViewModel(IStaticDataService staticDataService, IReplaceColorsViewModel replaceColorsViewModel)
{
_staticDataService = staticDataService;
_replaceColorsViewModel = replaceColorsViewModel;
@ -48,24 +48,24 @@ namespace Filtration.ViewModels
AddFilterBlockItemCommand = new RelayCommand<Type>(OnAddFilterBlockItemCommand);
ToggleBlockActionCommand = new RelayCommand(OnToggleBlockActionCommand);
AddAudioVisualBlockItemCommand = new RelayCommand<Type>(OnAddAudioVisualBlockItemCommand);
RemoveFilterBlockItemCommand = new RelayCommand<ILootFilterBlockItem>(OnRemoveFilterBlockItemCommand);
RemoveAudioVisualBlockItemCommand = new RelayCommand<ILootFilterBlockItem>(OnRemoveAudioVisualBlockItemCommand);
RemoveFilterBlockItemCommand = new RelayCommand<IItemFilterBlockItem>(OnRemoveFilterBlockItemCommand);
RemoveAudioVisualBlockItemCommand = new RelayCommand<IItemFilterBlockItem>(OnRemoveAudioVisualBlockItemCommand);
PlaySoundCommand = new RelayCommand(OnPlaySoundCommand, () => HasSound);
}
public void Initialise(LootFilterBlock lootFilterBlock, LootFilterScriptViewModel parentScriptViewModel)
public void Initialise(ItemFilterBlock itemFilterBlock, ItemFilterScriptViewModel parentScriptViewModel)
{
if (lootFilterBlock == null || parentScriptViewModel == null)
if (itemFilterBlock == null || parentScriptViewModel == null)
{
throw new ArgumentNullException("lootFilterBlock");
throw new ArgumentNullException("itemFilterBlock");
}
_parentScriptViewModel = parentScriptViewModel;
Block = lootFilterBlock;
lootFilterBlock.BlockItems.CollectionChanged += OnBlockItemsCollectionChanged;
Block = itemFilterBlock;
itemFilterBlock.BlockItems.CollectionChanged += OnBlockItemsCollectionChanged;
foreach (var blockItem in lootFilterBlock.BlockItems.OfType<IAudioVisualBlockItem>())
foreach (var blockItem in itemFilterBlock.BlockItems.OfType<IAudioVisualBlockItem>())
{
blockItem.PropertyChanged += OnAudioVisualBlockItemChanged;
}
@ -84,24 +84,24 @@ namespace Filtration.ViewModels
public RelayCommand ReplaceColorsCommand { get; private set; }
public RelayCommand<Type> AddFilterBlockItemCommand { get; private set; }
public RelayCommand<Type> AddAudioVisualBlockItemCommand { get; private set; }
public RelayCommand<ILootFilterBlockItem> RemoveFilterBlockItemCommand { get; private set; }
public RelayCommand<ILootFilterBlockItem> RemoveAudioVisualBlockItemCommand { get; private set; }
public RelayCommand<IItemFilterBlockItem> RemoveFilterBlockItemCommand { get; private set; }
public RelayCommand<IItemFilterBlockItem> RemoveAudioVisualBlockItemCommand { get; private set; }
public RelayCommand PlaySoundCommand { get; private set; }
public LootFilterBlock Block { get; private set; }
public ItemFilterBlock Block { get; private set; }
public bool IsDirty { get; set; }
public ObservableCollection<ILootFilterBlockItem> FilterBlockItems
public ObservableCollection<IItemFilterBlockItem> FilterBlockItems
{
get { return Block.BlockItems; }
}
public IEnumerable<ILootFilterBlockItem> SummaryBlockItems
public IEnumerable<IItemFilterBlockItem> SummaryBlockItems
{
get { return Block.BlockItems.Where(b => !(b is IAudioVisualBlockItem)); }
}
public IEnumerable<ILootFilterBlockItem> AudioVisualBlockItems
public IEnumerable<IItemFilterBlockItem> AudioVisualBlockItems
{
get { return Block.BlockItems.Where(b => b is IAudioVisualBlockItem); }
}
@ -261,13 +261,13 @@ namespace Filtration.ViewModels
private void OnAddFilterBlockItemCommand(Type blockItemType)
{
if (!AddBlockItemAllowed(blockItemType)) return;
var newBlockItem = (ILootFilterBlockItem) Activator.CreateInstance(blockItemType);
var newBlockItem = (IItemFilterBlockItem) Activator.CreateInstance(blockItemType);
FilterBlockItems.Add(newBlockItem);
IsDirty = true;
}
private void OnRemoveFilterBlockItemCommand(ILootFilterBlockItem blockItem)
private void OnRemoveFilterBlockItemCommand(IItemFilterBlockItem blockItem)
{
FilterBlockItems.Remove(blockItem);
IsDirty = true;
@ -276,7 +276,7 @@ namespace Filtration.ViewModels
private void OnAddAudioVisualBlockItemCommand(Type blockItemType)
{
if (!AddBlockItemAllowed(blockItemType)) return;
var newBlockItem = (ILootFilterBlockItem) Activator.CreateInstance(blockItemType);
var newBlockItem = (IItemFilterBlockItem) Activator.CreateInstance(blockItemType);
newBlockItem.PropertyChanged += OnAudioVisualBlockItemChanged;
FilterBlockItems.Add(newBlockItem);
@ -284,7 +284,7 @@ namespace Filtration.ViewModels
IsDirty = true;
}
private void OnRemoveAudioVisualBlockItemCommand(ILootFilterBlockItem blockItem)
private void OnRemoveAudioVisualBlockItemCommand(IItemFilterBlockItem blockItem)
{
blockItem.PropertyChanged -= OnAudioVisualBlockItemChanged;
FilterBlockItems.Remove(blockItem);
@ -347,7 +347,7 @@ namespace Filtration.ViewModels
private bool AddBlockItemAllowed(Type type)
{
var blockItem = (ILootFilterBlockItem)Activator.CreateInstance(type);
var blockItem = (IItemFilterBlockItem)Activator.CreateInstance(type);
var blockCount = FilterBlockItems.Count(b => b.GetType() == type);
return blockCount < blockItem.MaximumAllowed;
}

View File

@ -10,29 +10,29 @@ using GalaSoft.MvvmLight.CommandWpf;
namespace Filtration.ViewModels
{
internal interface ILootFilterScriptViewModel
internal interface IItemFilterScriptViewModel
{
LootFilterScript Script { get; }
ItemFilterScript Script { get; }
bool IsDirty { get; }
string Description { get; set; }
string DisplayName { get; }
void Initialise(LootFilterScript lootFilterScript);
ILootFilterBlockViewModel SelectedBlockViewModel { get; set; }
void Initialise(ItemFilterScript itemFilterScript);
IItemFilterBlockViewModel SelectedBlockViewModel { get; set; }
void RemoveDirtyFlag();
void AddSection(ILootFilterBlockViewModel targetBlockViewModel);
void AddBlock(ILootFilterBlockViewModel targetBlockViewModel);
void CopyBlock(ILootFilterBlockViewModel targetBlockViewModel);
void PasteBlock(ILootFilterBlockViewModel targetBlockViewModel);
void AddSection(IItemFilterBlockViewModel targetBlockViewModel);
void AddBlock(IItemFilterBlockViewModel targetBlockViewModel);
void CopyBlock(IItemFilterBlockViewModel targetBlockViewModel);
void PasteBlock(IItemFilterBlockViewModel targetBlockViewModel);
}
internal class LootFilterScriptViewModel : FiltrationViewModelBase, ILootFilterScriptViewModel
internal class ItemFilterScriptViewModel : FiltrationViewModelBase, IItemFilterScriptViewModel
{
private readonly ILootFilterBlockViewModelFactory _lootFilterBlockViewModelFactory;
private readonly ILootFilterBlockTranslator _blockTranslator;
private readonly IItemFilterBlockViewModelFactory _itemFilterBlockViewModelFactory;
private readonly IItemFilterBlockTranslator _blockTranslator;
private bool _isDirty;
private ILootFilterBlockViewModel _selectedBlockViewModel;
private IItemFilterBlockViewModel _selectedBlockViewModel;
public LootFilterScriptViewModel(ILootFilterBlockViewModelFactory lootFilterBlockViewModelFactory, ILootFilterBlockTranslator blockTranslator)
public ItemFilterScriptViewModel(IItemFilterBlockViewModelFactory itemFilterBlockViewModelFactory, IItemFilterBlockTranslator blockTranslator)
{
DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand, () => SelectedBlockViewModel != null);
MoveBlockToTopCommand = new RelayCommand(OnMoveBlockToTopCommand, () => SelectedBlockViewModel != null);
@ -43,9 +43,9 @@ namespace Filtration.ViewModels
AddSectionCommand = new RelayCommand(OnAddSectionCommand, () => SelectedBlockViewModel != null);
CopyBlockCommand = new RelayCommand(OnCopyBlockCommand, () => SelectedBlockViewModel != null);
PasteBlockCommand = new RelayCommand(OnPasteBlockCommand, () => SelectedBlockViewModel != null);
_lootFilterBlockViewModelFactory = lootFilterBlockViewModelFactory;
_itemFilterBlockViewModelFactory = itemFilterBlockViewModelFactory;
_blockTranslator = blockTranslator;
LootFilterBlockViewModels = new ObservableCollection<ILootFilterBlockViewModel>();
ItemFilterBlockViewModels = new ObservableCollection<IItemFilterBlockViewModel>();
}
@ -59,14 +59,14 @@ namespace Filtration.ViewModels
public RelayCommand CopyBlockCommand { get; private set; }
public RelayCommand PasteBlockCommand { get; private set; }
public ObservableCollection<ILootFilterBlockViewModel> LootFilterBlockViewModels { get; private set; }
public ObservableCollection<IItemFilterBlockViewModel> ItemFilterBlockViewModels { get; private set; }
public IEnumerable<ILootFilterBlockViewModel> LootFilterSectionViewModels
public IEnumerable<IItemFilterBlockViewModel> ItemFilterSectionViewModels
{
get { return LootFilterBlockViewModels.Where(b => b.Block.GetType() == typeof (LootFilterSection)); }
get { return ItemFilterBlockViewModels.Where(b => b.Block.GetType() == typeof (ItemFilterSection)); }
}
public ILootFilterBlockViewModel SectionBrowserSelectedViewModel { get; set; }
public IItemFilterBlockViewModel SectionBrowserSelectedViewModel { get; set; }
public string Description
{
@ -79,7 +79,7 @@ namespace Filtration.ViewModels
}
}
public ILootFilterBlockViewModel SelectedBlockViewModel
public IItemFilterBlockViewModel SelectedBlockViewModel
{
get { return _selectedBlockViewModel; }
set
@ -89,7 +89,7 @@ namespace Filtration.ViewModels
}
}
public LootFilterScript Script { get; private set; }
public ItemFilterScript Script { get; private set; }
public bool IsDirty
{
@ -102,12 +102,12 @@ namespace Filtration.ViewModels
private bool HasDirtyChildren
{
get { return LootFilterBlockViewModels.Any(vm => vm.IsDirty); }
get { return ItemFilterBlockViewModels.Any(vm => vm.IsDirty); }
}
private void CleanChildren()
{
foreach (var vm in LootFilterBlockViewModels)
foreach (var vm in ItemFilterBlockViewModels)
{
vm.IsDirty = false;
}
@ -136,16 +136,16 @@ namespace Filtration.ViewModels
get { return Script.FilePath; }
}
public void Initialise(LootFilterScript lootFilterScript)
public void Initialise(ItemFilterScript itemFilterScript)
{
LootFilterBlockViewModels.Clear();
ItemFilterBlockViewModels.Clear();
Script = lootFilterScript;
foreach (var block in Script.LootFilterBlocks)
Script = itemFilterScript;
foreach (var block in Script.ItemFilterBlocks)
{
var vm = _lootFilterBlockViewModelFactory.Create();
var vm = _itemFilterBlockViewModelFactory.Create();
vm.Initialise(block, this);
LootFilterBlockViewModels.Add(vm);
ItemFilterBlockViewModels.Add(vm);
}
}
@ -154,9 +154,9 @@ namespace Filtration.ViewModels
CopyBlock(SelectedBlockViewModel);
}
public void CopyBlock(ILootFilterBlockViewModel targetBlockViewModel)
public void CopyBlock(IItemFilterBlockViewModel targetBlockViewModel)
{
Clipboard.SetText(_blockTranslator.TranslateLootFilterBlockToString(SelectedBlockViewModel.Block));
Clipboard.SetText(_blockTranslator.TranslateItemFilterBlockToString(SelectedBlockViewModel.Block));
}
private void OnPasteBlockCommand()
@ -164,26 +164,26 @@ namespace Filtration.ViewModels
PasteBlock(SelectedBlockViewModel);
}
public void PasteBlock(ILootFilterBlockViewModel targetBlockViewModel)
public void PasteBlock(IItemFilterBlockViewModel targetBlockViewModel)
{
var clipboardText = Clipboard.GetText();
if (clipboardText.IsNullOrEmpty()) return;
var translatedBlock = _blockTranslator.TranslateStringToLootFilterBlock(clipboardText);
var translatedBlock = _blockTranslator.TranslateStringToItemFilterBlock(clipboardText);
if (translatedBlock == null) return;
var vm = _lootFilterBlockViewModelFactory.Create();
var vm = _itemFilterBlockViewModelFactory.Create();
vm.Initialise(translatedBlock, this);
if (LootFilterBlockViewModels.Count > 0)
if (ItemFilterBlockViewModels.Count > 0)
{
Script.LootFilterBlocks.Insert(Script.LootFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, translatedBlock);
LootFilterBlockViewModels.Insert(LootFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
Script.ItemFilterBlocks.Insert(Script.ItemFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, translatedBlock);
ItemFilterBlockViewModels.Insert(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
}
else
{
Script.LootFilterBlocks.Add(translatedBlock);
LootFilterBlockViewModels.Add(vm);
Script.ItemFilterBlocks.Add(translatedBlock);
ItemFilterBlockViewModels.Add(vm);
}
SelectedBlockViewModel = vm;
@ -197,18 +197,18 @@ namespace Filtration.ViewModels
}
public void MoveBlockToTop(ILootFilterBlockViewModel targetBlockViewModel)
public void MoveBlockToTop(IItemFilterBlockViewModel targetBlockViewModel)
{
var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel);
var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);
if (currentIndex > 0)
{
var block = targetBlockViewModel.Block;
Script.LootFilterBlocks.Remove(block);
Script.LootFilterBlocks.Insert(0, block);
LootFilterBlockViewModels.Move(currentIndex, 0);
Script.ItemFilterBlocks.Remove(block);
Script.ItemFilterBlocks.Insert(0, block);
ItemFilterBlockViewModels.Move(currentIndex, 0);
_isDirty = true;
RaisePropertyChanged("LootFilterSectionViewModels");
RaisePropertyChanged("ItemFilterSectionViewModels");
}
}
@ -217,19 +217,19 @@ namespace Filtration.ViewModels
MoveBlockUp(SelectedBlockViewModel);
}
public void MoveBlockUp(ILootFilterBlockViewModel targetBlockViewModel)
public void MoveBlockUp(IItemFilterBlockViewModel targetBlockViewModel)
{
var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel);
var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);
if (currentIndex > 0)
{
var block = targetBlockViewModel.Block;
var blockPos = Script.LootFilterBlocks.IndexOf(block);
Script.LootFilterBlocks.RemoveAt(blockPos);
Script.LootFilterBlocks.Insert(blockPos - 1, block);
LootFilterBlockViewModels.Move(currentIndex, currentIndex - 1);
var blockPos = Script.ItemFilterBlocks.IndexOf(block);
Script.ItemFilterBlocks.RemoveAt(blockPos);
Script.ItemFilterBlocks.Insert(blockPos - 1, block);
ItemFilterBlockViewModels.Move(currentIndex, currentIndex - 1);
_isDirty = true;
RaisePropertyChanged("LootFilterSectionViewModels");
RaisePropertyChanged("ItemFilterSectionViewModels");
}
}
@ -238,19 +238,19 @@ namespace Filtration.ViewModels
MoveBlockDown(SelectedBlockViewModel);
}
public void MoveBlockDown(ILootFilterBlockViewModel targetBlockViewModel)
public void MoveBlockDown(IItemFilterBlockViewModel targetBlockViewModel)
{
var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel);
var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);
if (currentIndex < LootFilterBlockViewModels.Count - 1)
if (currentIndex < ItemFilterBlockViewModels.Count - 1)
{
var block = targetBlockViewModel.Block;
var blockPos = Script.LootFilterBlocks.IndexOf(block);
Script.LootFilterBlocks.RemoveAt(blockPos);
Script.LootFilterBlocks.Insert(blockPos + 1, block);
LootFilterBlockViewModels.Move(currentIndex, currentIndex + 1);
var blockPos = Script.ItemFilterBlocks.IndexOf(block);
Script.ItemFilterBlocks.RemoveAt(blockPos);
Script.ItemFilterBlocks.Insert(blockPos + 1, block);
ItemFilterBlockViewModels.Move(currentIndex, currentIndex + 1);
_isDirty = true;
RaisePropertyChanged("LootFilterSectionViewModels");
RaisePropertyChanged("ItemFilterSectionViewModels");
}
}
@ -259,18 +259,18 @@ namespace Filtration.ViewModels
MoveBlockToBottom(SelectedBlockViewModel);
}
public void MoveBlockToBottom(ILootFilterBlockViewModel targetBlockViewModel)
public void MoveBlockToBottom(IItemFilterBlockViewModel targetBlockViewModel)
{
var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel);
var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);
if (currentIndex < LootFilterBlockViewModels.Count - 1)
if (currentIndex < ItemFilterBlockViewModels.Count - 1)
{
var block = targetBlockViewModel.Block;
Script.LootFilterBlocks.Remove(block);
Script.LootFilterBlocks.Add(block);
LootFilterBlockViewModels.Move(currentIndex, LootFilterBlockViewModels.Count - 1);
Script.ItemFilterBlocks.Remove(block);
Script.ItemFilterBlocks.Add(block);
ItemFilterBlockViewModels.Move(currentIndex, ItemFilterBlockViewModels.Count - 1);
_isDirty = true;
RaisePropertyChanged("LootFilterSectionViewModels");
RaisePropertyChanged("ItemFilterSectionViewModels");
}
}
@ -279,21 +279,21 @@ namespace Filtration.ViewModels
AddBlock(SelectedBlockViewModel);
}
public void AddBlock(ILootFilterBlockViewModel targetBlockViewModel)
public void AddBlock(IItemFilterBlockViewModel targetBlockViewModel)
{
var vm = _lootFilterBlockViewModelFactory.Create();
var newBlock = new LootFilterBlock();
var vm = _itemFilterBlockViewModelFactory.Create();
var newBlock = new ItemFilterBlock();
vm.Initialise(newBlock, this);
if (targetBlockViewModel != null)
{
Script.LootFilterBlocks.Insert(Script.LootFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, newBlock);
LootFilterBlockViewModels.Insert(LootFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
Script.ItemFilterBlocks.Insert(Script.ItemFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, newBlock);
ItemFilterBlockViewModels.Insert(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
}
else
{
Script.LootFilterBlocks.Add(newBlock);
LootFilterBlockViewModels.Add(vm);
Script.ItemFilterBlocks.Add(newBlock);
ItemFilterBlockViewModels.Add(vm);
}
SelectedBlockViewModel = vm;
@ -305,17 +305,17 @@ namespace Filtration.ViewModels
AddSection(SelectedBlockViewModel);
}
public void AddSection(ILootFilterBlockViewModel targetBlockViewModel)
public void AddSection(IItemFilterBlockViewModel targetBlockViewModel)
{
var vm = _lootFilterBlockViewModelFactory.Create();
var newSection = new LootFilterSection { Description = "New Section" };
var vm = _itemFilterBlockViewModelFactory.Create();
var newSection = new ItemFilterSection { Description = "New Section" };
vm.Initialise(newSection, this);
Script.LootFilterBlocks.Insert(Script.LootFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, newSection);
LootFilterBlockViewModels.Insert(LootFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
Script.ItemFilterBlocks.Insert(Script.ItemFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, newSection);
ItemFilterBlockViewModels.Insert(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
_isDirty = true;
SelectedBlockViewModel = vm;
RaisePropertyChanged("LootFilterSectionViewModels");
RaisePropertyChanged("ItemFilterSectionViewModels");
}
private void OnDeleteBlockCommand()
@ -323,15 +323,15 @@ namespace Filtration.ViewModels
DeleteBlock(SelectedBlockViewModel);
}
public void DeleteBlock(ILootFilterBlockViewModel targetBlockViewModel)
public void DeleteBlock(IItemFilterBlockViewModel targetBlockViewModel)
{
var result = MessageBox.Show("Are you sure you wish to delete this block?", "Delete Confirmation",
MessageBoxButton.YesNo, MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
{
Script.LootFilterBlocks.Remove(targetBlockViewModel.Block);
LootFilterBlockViewModels.Remove(targetBlockViewModel);
Script.ItemFilterBlocks.Remove(targetBlockViewModel.Block);
ItemFilterBlockViewModels.Remove(targetBlockViewModel);
_isDirty = true;
}
SelectedBlockViewModel = null;

View File

@ -21,26 +21,26 @@ namespace Filtration.ViewModels
internal class MainWindowViewModel : FiltrationViewModelBase, IMainWindowViewModel
{
private LootFilterScript _loadedScript;
private ItemFilterScript _loadedScript;
private readonly ILootFilterScriptViewModelFactory _lootFilterScriptViewModelFactory;
private readonly ILootFilterPersistenceService _persistenceService;
private readonly ILootFilterScriptTranslator _lootFilterScriptTranslator;
private readonly IItemFilterScriptViewModelFactory _itemFilterScriptViewModelFactory;
private readonly IItemFilterPersistenceService _persistenceService;
private readonly IItemFilterScriptTranslator _itemFilterScriptTranslator;
private readonly IReplaceColorsViewModel _replaceColorsViewModel;
private ILootFilterScriptViewModel _currentScriptViewModel;
private readonly ObservableCollection<ILootFilterScriptViewModel> _scriptViewModels;
private IItemFilterScriptViewModel _currentScriptViewModel;
private readonly ObservableCollection<IItemFilterScriptViewModel> _scriptViewModels;
public MainWindowViewModel(ILootFilterScriptViewModelFactory lootFilterScriptViewModelFactory,
ILootFilterPersistenceService persistenceService,
ILootFilterScriptTranslator lootFilterScriptTranslator,
public MainWindowViewModel(IItemFilterScriptViewModelFactory itemFilterScriptViewModelFactory,
IItemFilterPersistenceService persistenceService,
IItemFilterScriptTranslator itemFilterScriptTranslator,
IReplaceColorsViewModel replaceColorsViewModel)
{
_lootFilterScriptViewModelFactory = lootFilterScriptViewModelFactory;
_itemFilterScriptViewModelFactory = itemFilterScriptViewModelFactory;
_persistenceService = persistenceService;
_lootFilterScriptTranslator = lootFilterScriptTranslator;
_itemFilterScriptTranslator = itemFilterScriptTranslator;
_replaceColorsViewModel = replaceColorsViewModel;
_scriptViewModels = new ObservableCollection<ILootFilterScriptViewModel>();
_scriptViewModels = new ObservableCollection<IItemFilterScriptViewModel>();
OpenAboutWindowCommand = new RelayCommand(OnOpenAboutWindowCommand);
OpenScriptCommand = new RelayCommand(OnOpenScriptCommand);
@ -50,12 +50,12 @@ namespace Filtration.ViewModels
CopyBlockCommand = new RelayCommand(OnCopyBlockCommand, () => CurrentScriptViewModel != null && CurrentScriptViewModel.SelectedBlockViewModel != null);
PasteCommand = new RelayCommand(OnPasteCommand, () => CurrentScriptViewModel != null && CurrentScriptViewModel.SelectedBlockViewModel != null);
NewScriptCommand = new RelayCommand(OnNewScriptCommand);
CloseScriptCommand = new RelayCommand<ILootFilterScriptViewModel>(OnCloseScriptCommand, v => CurrentScriptViewModel != null);
CloseScriptCommand = new RelayCommand<IItemFilterScriptViewModel>(OnCloseScriptCommand, v => CurrentScriptViewModel != null);
ReplaceColorsCommand = new RelayCommand(OnReplaceColorsCommand, () => CurrentScriptViewModel != null);
//LoadScriptFromFile("C:\\ThioleLootFilter.txt");
SetLootFilterScriptDirectory();
SetItemFilterScriptDirectory();
}
public RelayCommand OpenScriptCommand { get; private set; }
@ -65,11 +65,11 @@ namespace Filtration.ViewModels
public RelayCommand PasteCommand { get; private set; }
public RelayCommand CopyScriptCommand { get; private set; }
public RelayCommand NewScriptCommand { get; private set; }
public RelayCommand<ILootFilterScriptViewModel> CloseScriptCommand { get; private set; }
public RelayCommand<IItemFilterScriptViewModel> CloseScriptCommand { get; private set; }
public RelayCommand OpenAboutWindowCommand { get; private set; }
public RelayCommand ReplaceColorsCommand { get; private set; }
public ObservableCollection<ILootFilterScriptViewModel> ScriptViewModels
public ObservableCollection<IItemFilterScriptViewModel> ScriptViewModels
{
get { return _scriptViewModels; }
}
@ -85,7 +85,7 @@ namespace Filtration.ViewModels
}
[DoNotWire]
public ILootFilterScriptViewModel CurrentScriptViewModel
public IItemFilterScriptViewModel CurrentScriptViewModel
{
get { return _currentScriptViewModel; }
set
@ -114,7 +114,7 @@ namespace Filtration.ViewModels
var openFileDialog = new OpenFileDialog
{
Filter = "Filter Files (*.filter)|*.filter|All Files (*.*)|*.*",
InitialDirectory = _persistenceService.LootFilterScriptDirectory
InitialDirectory = _persistenceService.ItemFilterScriptDirectory
};
if (openFileDialog.ShowDialog() != true) return;
@ -126,7 +126,7 @@ namespace Filtration.ViewModels
{
try
{
_loadedScript = _persistenceService.LoadLootFilterScript(path);
_loadedScript = _persistenceService.LoadItemFilterScript(path);
}
catch (Exception e)
{
@ -135,18 +135,18 @@ namespace Filtration.ViewModels
return;
}
var newViewModel = _lootFilterScriptViewModelFactory.Create();
var newViewModel = _itemFilterScriptViewModelFactory.Create();
newViewModel.Initialise(_loadedScript);
ScriptViewModels.Add(newViewModel);
CurrentScriptViewModel = newViewModel;
}
private void SetLootFilterScriptDirectory()
private void SetItemFilterScriptDirectory()
{
var defaultDir = _persistenceService.DefaultPathOfExileDirectory();
if (!string.IsNullOrEmpty(defaultDir))
{
_persistenceService.LootFilterScriptDirectory = defaultDir;
_persistenceService.ItemFilterScriptDirectory = defaultDir;
}
else
{
@ -159,7 +159,7 @@ namespace Filtration.ViewModels
if (result == DialogResult.OK)
{
_persistenceService.LootFilterScriptDirectory = dlg.SelectedPath;
_persistenceService.ItemFilterScriptDirectory = dlg.SelectedPath;
}
}
}
@ -176,7 +176,7 @@ namespace Filtration.ViewModels
try
{
_persistenceService.SaveLootFilterScript(CurrentScriptViewModel.Script);
_persistenceService.SaveItemFilterScript(CurrentScriptViewModel.Script);
CurrentScriptViewModel.RemoveDirtyFlag();
}
catch (Exception e)
@ -195,7 +195,7 @@ namespace Filtration.ViewModels
{
DefaultExt = ".filter",
Filter = @"Filter Files (*.filter)|*.filter|All Files (*.*)|*.*",
InitialDirectory = _persistenceService.LootFilterScriptDirectory
InitialDirectory = _persistenceService.ItemFilterScriptDirectory
};
var result = saveDialog.ShowDialog();
@ -206,7 +206,7 @@ namespace Filtration.ViewModels
try
{
CurrentScriptViewModel.Script.FilePath = saveDialog.FileName;
_persistenceService.SaveLootFilterScript(CurrentScriptViewModel.Script);
_persistenceService.SaveItemFilterScript(CurrentScriptViewModel.Script);
CurrentScriptViewModel.RemoveDirtyFlag();
}
catch (Exception e)
@ -245,7 +245,7 @@ namespace Filtration.ViewModels
private void OnCopyScriptCommand()
{
Clipboard.SetText(_lootFilterScriptTranslator.TranslateLootFilterScriptToString(_currentScriptViewModel.Script));
Clipboard.SetText(_itemFilterScriptTranslator.TranslateItemFilterScriptToString(_currentScriptViewModel.Script));
}
private void OnCopyBlockCommand()
@ -260,15 +260,15 @@ namespace Filtration.ViewModels
private void OnNewScriptCommand()
{
var newScript = new LootFilterScript();
var newViewModel = _lootFilterScriptViewModelFactory.Create();
var newScript = new ItemFilterScript();
var newViewModel = _itemFilterScriptViewModelFactory.Create();
newViewModel.Initialise(newScript);
newViewModel.Description = "New Script";
ScriptViewModels.Add(newViewModel);
CurrentScriptViewModel = newViewModel;
}
private void OnCloseScriptCommand(ILootFilterScriptViewModel scriptViewModel)
private void OnCloseScriptCommand(IItemFilterScriptViewModel scriptViewModel)
{
CurrentScriptViewModel = scriptViewModel;
if (!CurrentScriptViewModel.IsDirty)

View File

@ -8,13 +8,13 @@ namespace Filtration.ViewModels
{
internal interface IReplaceColorsViewModel
{
void Initialise(LootFilterScript lootFilterScript, LootFilterBlock initialiseFromBlock);
void Initialise(LootFilterScript lootFilterScript);
void Initialise(ItemFilterScript itemFilterScript, ItemFilterBlock initialiseFromBlock);
void Initialise(ItemFilterScript itemFilterScript);
}
internal class ReplaceColorsViewModel : FiltrationViewModelBase, IReplaceColorsViewModel
{
private LootFilterScript _lootFilterScript;
private ItemFilterScript _itemFilterScript;
private ReplaceColorsParameterSet _replaceColorsParameterSet;
public ReplaceColorsViewModel()
@ -24,7 +24,7 @@ namespace Filtration.ViewModels
public RelayCommand ReplaceColorsCommand { get; private set; }
public void Initialise(LootFilterScript lootFilterScript, LootFilterBlock initialiseFromBlock)
public void Initialise(ItemFilterScript itemFilterScript, ItemFilterBlock initialiseFromBlock)
{
_replaceColorsParameterSet = new ReplaceColorsParameterSet();
@ -55,7 +55,7 @@ namespace Filtration.ViewModels
_replaceColorsParameterSet.NewBorderColor = existingBlockColor;
}
_lootFilterScript = lootFilterScript;
_itemFilterScript = itemFilterScript;
}
public Color NewTextColor
@ -159,15 +159,15 @@ namespace Filtration.ViewModels
}
}
public void Initialise(LootFilterScript lootFilterScript)
public void Initialise(ItemFilterScript itemFilterScript)
{
_replaceColorsParameterSet = new ReplaceColorsParameterSet();
_lootFilterScript = lootFilterScript;
_itemFilterScript = itemFilterScript;
}
private void OnReplaceColorsCommand()
{
_lootFilterScript.ReplaceColors(_replaceColorsParameterSet);
_itemFilterScript.ReplaceColors(_replaceColorsParameterSet);
}
}

View File

@ -9,18 +9,18 @@ namespace Filtration.Views
{
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
var viewModel = item as LootFilterBlockViewModel;
var viewModel = item as ItemFilterBlockViewModel;
var element = container as FrameworkElement;
if (viewModel == null || element == null)
return null;
if (viewModel.Block is LootFilterSection)
if (viewModel.Block is ItemFilterSection)
{
return element.FindResource("LootFilterSectionTemplate") as DataTemplate;
return element.FindResource("ItemFilterSectionTemplate") as DataTemplate;
}
return element.FindResource("LootFilterBlockTemplate") as DataTemplate;
return element.FindResource("ItemFilterBlockTemplate") as DataTemplate;
}
}
}

View File

@ -1,4 +1,4 @@
<UserControl x:Class="Filtration.Views.LootFilterBlockDisplaySettingsView"
<UserControl x:Class="Filtration.Views.ItemFilterBlockDisplaySettingsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
@ -10,7 +10,7 @@
xmlns:blockItemTypes="clr-namespace:Filtration.Models.BlockItemTypes"
xmlns:componentModel="clr-namespace:System.ComponentModel;assembly=WindowsBase"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=viewModels:LootFilterBlockViewModel}"
d:DataContext="{d:DesignInstance Type=viewModels:ItemFilterBlockViewModel}"
d:DesignHeight="120" d:DesignWidth="175">
<UserControl.Resources>
<ResourceDictionary>

View File

@ -0,0 +1,10 @@
namespace Filtration.Views
{
public partial class ItemFilterBlockDisplaySettingsView
{
public ItemFilterBlockDisplaySettingsView()
{
InitializeComponent();
}
}
}

View File

@ -1,4 +1,4 @@
<UserControl x:Class="Filtration.Views.LootFilterBlockView"
<UserControl x:Class="Filtration.Views.ItemFilterBlockView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
@ -11,7 +11,7 @@
xmlns:enums="clr-namespace:Filtration.Enums"
xmlns:extensions="clr-namespace:Filtration.Extensions"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=viewModels:LootFilterBlockViewModel}"
d:DataContext="{d:DesignInstance Type=viewModels:ItemFilterBlockViewModel}"
d:DesignHeight="200" d:DesignWidth="800">
<UserControl.Resources>
<ResourceDictionary>
@ -114,7 +114,7 @@
AllowsTransparency="True"
HorizontalOffset="-5"
Width="250">
<views:LootFilterBlockDisplaySettingsView />
<views:ItemFilterBlockDisplaySettingsView />
</Popup>
</Grid>
</Expander.Header>

View File

@ -1,8 +1,8 @@
namespace Filtration.Views
{
public partial class LootFilterBlockView
public partial class ItemFilterBlockView
{
public LootFilterBlockView()
public ItemFilterBlockView()
{
InitializeComponent();
}

View File

@ -1,4 +1,4 @@
<UserControl x:Class="Filtration.Views.LootFilterScriptView"
<UserControl x:Class="Filtration.Views.ItemFilterScriptView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
@ -7,19 +7,19 @@
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
xmlns:userControls="clr-namespace:Filtration.UserControls"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=viewModels:LootFilterScriptViewModel}"
d:DataContext="{d:DesignInstance Type=viewModels:ItemFilterScriptViewModel}"
d:DesignHeight="300" d:DesignWidth="600">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<!-- ReSharper disable once Xaml.RedundantResource -->
<DataTemplate x:Key="LootFilterBlockTemplate">
<views:LootFilterBlockView Margin="0,2,0,2" />
<DataTemplate x:Key="ItemFilterBlockTemplate">
<views:ItemFilterBlockView Margin="0,2,0,2" />
</DataTemplate>
<!-- ReSharper disable once Xaml.RedundantResource -->
<DataTemplate x:Key="LootFilterSectionTemplate">
<views:LootFilterSectionView Margin="0,2,0,2" />
<DataTemplate x:Key="ItemFilterSectionTemplate">
<views:ItemFilterSectionView Margin="0,2,0,2" />
</DataTemplate>
<views:BlockTemplateSelector x:Key="BlockTemplateSelector" />
</ResourceDictionary>
@ -67,7 +67,7 @@
</TextBlock.LayoutTransform>
</TextBlock>
</Expander.Header>
<ListBox ItemsSource="{Binding LootFilterSectionViewModels}"
<ListBox ItemsSource="{Binding ItemFilterSectionViewModels}"
SelectedItem="{Binding SectionBrowserSelectedViewModel}"
x:Name="SectionBrowserListBox"
SelectionChanged="SectionBrowserListBox_OnSelectionChanged"
@ -79,7 +79,7 @@
</ListBox.ItemTemplate>
</ListBox>
</Expander>
<userControls:AutoScrollingListBox ItemsSource="{Binding LootFilterBlockViewModels}"
<userControls:AutoScrollingListBox ItemsSource="{Binding ItemFilterBlockViewModels}"
Margin="5,5,5,5"
Padding="5"
HorizontalContentAlignment="Stretch"

View File

@ -2,9 +2,9 @@
namespace Filtration.Views
{
public partial class LootFilterScriptView
public partial class ItemFilterScriptView
{
public LootFilterScriptView()
public ItemFilterScriptView()
{
InitializeComponent();
}

View File

@ -1,10 +1,10 @@
<UserControl x:Class="Filtration.Views.LootFilterSectionView"
<UserControl x:Class="Filtration.Views.ItemFilterSectionView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
d:DataContext="{d:DesignInstance Type=viewModels:LootFilterBlockViewModel}"
d:DataContext="{d:DesignInstance Type=viewModels:ItemFilterBlockViewModel}"
mc:Ignorable="d"
d:DesignHeight="50" d:DesignWidth="300">
<UserControl.Resources>

View File

@ -1,8 +1,8 @@
namespace Filtration.Views
{
public partial class LootFilterSectionView
public partial class ItemFilterSectionView
{
public LootFilterSectionView()
public ItemFilterSectionView()
{
InitializeComponent();
}

View File

@ -1,10 +0,0 @@
namespace Filtration.Views
{
public partial class LootFilterBlockDisplaySettingsView
{
public LootFilterBlockDisplaySettingsView()
{
InitializeComponent();
}
}
}

View File

@ -58,7 +58,7 @@
<TabControl.ContentTemplate>
<DataTemplate>
<controls:MetroContentControl>
<views:LootFilterScriptView DataContext="{Binding}" />
<views:ItemFilterScriptView DataContext="{Binding}" />
</controls:MetroContentControl>
</DataTemplate>
</TabControl.ContentTemplate>

View File

@ -15,8 +15,8 @@ namespace Filtration.WindsorInstallers
.LifeStyle.Singleton);
container.Register(
Component.For<ILootFilterPersistenceService>()
.ImplementedBy<LootFilterPersistenceService>()
Component.For<IItemFilterPersistenceService>()
.ImplementedBy<ItemFilterPersistenceService>()
.LifeStyle.Singleton);
container.Register(

View File

@ -10,13 +10,13 @@ namespace Filtration.WindsorInstallers
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(
Component.For<ILootFilterScriptTranslator>()
.ImplementedBy<LootFilterScriptTranslator>()
Component.For<IItemFilterScriptTranslator>()
.ImplementedBy<ItemFilterScriptTranslator>()
.LifeStyle.Singleton);
container.Register(
Component.For<ILootFilterBlockTranslator>()
.ImplementedBy<LootFilterBlockTranslator>()
Component.For<IItemFilterBlockTranslator>()
.ImplementedBy<ItemFilterBlockTranslator>()
.LifeStyle.Singleton);
}
}

View File

@ -16,13 +16,13 @@ namespace Filtration.WindsorInstallers
.LifeStyle.Transient);
container.Register(
Component.For<ILootFilterBlockViewModel>()
.ImplementedBy<LootFilterBlockViewModel>()
Component.For<IItemFilterBlockViewModel>()
.ImplementedBy<ItemFilterBlockViewModel>()
.LifeStyle.Transient);
container.Register(
Component.For<ILootFilterScriptViewModel>()
.ImplementedBy<LootFilterScriptViewModel>()
Component.For<IItemFilterScriptViewModel>()
.ImplementedBy<ItemFilterScriptViewModel>()
.LifeStyle.Transient);
container.Register(
@ -32,10 +32,10 @@ namespace Filtration.WindsorInstallers
container.AddFacility<TypedFactoryFacility>();
container.Register(
Component.For<ILootFilterBlockViewModelFactory>().AsFactory());
Component.For<IItemFilterBlockViewModelFactory>().AsFactory());
container.Register(
Component.For<ILootFilterScriptViewModelFactory>().AsFactory());
Component.For<IItemFilterScriptViewModelFactory>().AsFactory());
}
}
}