Fix the reading of CustomAlertSounds containing path separators.
This commit is contained in:
@@ -94,7 +94,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
// Arrange
|
||||
var inputString = "HideDisabled" + Environment.NewLine +
|
||||
" ItemLevel >= 55";
|
||||
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
@@ -372,37 +372,37 @@ namespace Filtration.Parser.Tests.Services
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_ElderItem_ReturnsCorrectObject()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
" ElderItem False";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is ElderItemBlockItem));
|
||||
var blockItem = result.BlockItems.OfType<ElderItemBlockItem>().First();
|
||||
Assert.IsFalse(blockItem.BooleanValue);
|
||||
public void TranslateStringToItemFilterBlock_ElderItem_ReturnsCorrectObject()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
" ElderItem False";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is ElderItemBlockItem));
|
||||
var blockItem = result.BlockItems.OfType<ElderItemBlockItem>().First();
|
||||
Assert.IsFalse(blockItem.BooleanValue);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_ShaperItem_ReturnsCorrectObject()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
" ShaperItem True";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is ShaperItemBlockItem));
|
||||
var blockItem = result.BlockItems.OfType<ShaperItemBlockItem>().First();
|
||||
Assert.IsTrue(blockItem.BooleanValue);
|
||||
public void TranslateStringToItemFilterBlock_ShaperItem_ReturnsCorrectObject()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
" ShaperItem True";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is ShaperItemBlockItem));
|
||||
var blockItem = result.BlockItems.OfType<ShaperItemBlockItem>().First();
|
||||
Assert.IsTrue(blockItem.BooleanValue);
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -424,37 +424,37 @@ namespace Filtration.Parser.Tests.Services
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_ShapedMap_ReturnsCorrectObject()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
" ShapedMap false";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is ShapedMapBlockItem));
|
||||
var blockItem = result.BlockItems.OfType<ShapedMapBlockItem>().First();
|
||||
Assert.IsFalse(blockItem.BooleanValue);
|
||||
public void TranslateStringToItemFilterBlock_ShapedMap_ReturnsCorrectObject()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
" ShapedMap false";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is ShapedMapBlockItem));
|
||||
var blockItem = result.BlockItems.OfType<ShapedMapBlockItem>().First();
|
||||
Assert.IsFalse(blockItem.BooleanValue);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_ElderMap_ReturnsCorrectObject()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
" ElderMap false";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is ElderMapBlockItem));
|
||||
var blockItem = result.BlockItems.OfType<ElderMapBlockItem>().First();
|
||||
Assert.IsFalse(blockItem.BooleanValue);
|
||||
public void TranslateStringToItemFilterBlock_ElderMap_ReturnsCorrectObject()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
" ElderMap false";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is ElderMapBlockItem));
|
||||
var blockItem = result.BlockItems.OfType<ElderMapBlockItem>().First();
|
||||
Assert.IsFalse(blockItem.BooleanValue);
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -793,7 +793,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
" SetTextColor 255 20 100 # Rare Item Text";
|
||||
var testComponent = new ColorThemeComponent(ThemeComponentType.TextColor, "Rare Item Text", new Color { R = 255, G = 20, B = 100});
|
||||
var testInputThemeComponentCollection = new ThemeComponentCollection { testComponent };
|
||||
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, Mock.Of<IItemFilterScript>(i => i.ItemFilterScriptSettings.ThemeComponentCollection == testInputThemeComponentCollection));
|
||||
|
||||
@@ -894,22 +894,22 @@ namespace Filtration.Parser.Tests.Services
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_DisableDropSound_ReturnsCorrectObject()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
" DisableDropSound True";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is DisableDropSoundBlockItem));
|
||||
var blockItem = result.BlockItems.OfType<DisableDropSoundBlockItem>().First();
|
||||
Assert.IsTrue(blockItem.BooleanValue);
|
||||
}
|
||||
|
||||
public void TranslateStringToItemFilterBlock_DisableDropSound_ReturnsCorrectObject()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
" DisableDropSound True";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is DisableDropSoundBlockItem));
|
||||
var blockItem = result.BlockItems.OfType<DisableDropSoundBlockItem>().First();
|
||||
Assert.IsTrue(blockItem.BooleanValue);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_Everything_ReturnsCorrectObject()
|
||||
{
|
||||
@@ -1044,7 +1044,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
|
||||
var fontSizeblockItem = result.BlockItems.OfType<FontSizeBlockItem>().First();
|
||||
Assert.AreEqual(50, fontSizeblockItem.Value);
|
||||
|
||||
|
||||
Assert.AreEqual(0, result.BlockItems.OfType<SoundBlockItem>().Count());
|
||||
|
||||
var disableDropSoundBlockItem = result.BlockItems.OfType<DisableDropSoundBlockItem>().First();
|
||||
@@ -1087,9 +1087,9 @@ namespace Filtration.Parser.Tests.Services
|
||||
// Arrange
|
||||
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
" ItemLevel >= 70" + Environment.NewLine +
|
||||
" ItemLevel <= 80" + Environment.NewLine +
|
||||
" Quality = 15" + Environment.NewLine +
|
||||
" ItemLevel >= 70" + Environment.NewLine +
|
||||
" ItemLevel <= 80" + Environment.NewLine +
|
||||
" Quality = 15" + Environment.NewLine +
|
||||
" Quality < 17";
|
||||
|
||||
// Act
|
||||
@@ -1150,7 +1150,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
var blockItem = result.BlockItems.OfType<FontSizeBlockItem>().First();
|
||||
Assert.AreEqual(27, blockItem.Value);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_MultipleSoundItems_OnlyLastOneUsed()
|
||||
{
|
||||
@@ -1271,6 +1271,86 @@ namespace Filtration.Parser.Tests.Services
|
||||
Assert.AreEqual(ItemRarity.Rare, (ItemRarity)rarityBlockItem.FilterPredicate.PredicateOperand);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_CustomSoundDocumentsFile()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = @"Show" + Environment.NewLine +
|
||||
"CustomAlertSound \"test.mp3\"";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is CustomSoundBlockItem));
|
||||
var customSoundBlockItem = result.BlockItems.OfType<CustomSoundBlockItem>().First();
|
||||
Assert.AreEqual("test.mp3", customSoundBlockItem.Value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_CustomSoundDocumentsRelativeFile()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = @"Show" + Environment.NewLine +
|
||||
"CustomAlertSound \"Sounds\test.mp3\"";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is CustomSoundBlockItem));
|
||||
var customSoundBlockItem = result.BlockItems.OfType<CustomSoundBlockItem>().First();
|
||||
Assert.AreEqual("Sounds\test.mp3", customSoundBlockItem.Value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_CustomSoundFullBackSlashPath()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = @"Show" + Environment.NewLine +
|
||||
"CustomAlertSound \"C:\\Sounds\\test.mp3\"";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is CustomSoundBlockItem));
|
||||
var customSoundBlockItem = result.BlockItems.OfType<CustomSoundBlockItem>().First();
|
||||
Assert.AreEqual("C:\\Sounds\\test.mp3", customSoundBlockItem.Value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_CustomSoundFullForwardSlashPath()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = @"Show" + Environment.NewLine +
|
||||
"CustomAlertSound \"C:/Sounds/test.mp3\"";
|
||||
|
||||
//Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is CustomSoundBlockItem));
|
||||
var customSoundBlockItem = result.BlockItems.OfType<CustomSoundBlockItem>().First();
|
||||
Assert.AreEqual("C:/Sounds/test.mp3", customSoundBlockItem.Value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_CustomSoundFullMixedPath()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = @"Show" + Environment.NewLine +
|
||||
"CustomAlertSound \"C:\\Sounds/test.mp3\"";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is CustomSoundBlockItem));
|
||||
var customSoundBlockItem = result.BlockItems.OfType<CustomSoundBlockItem>().First();
|
||||
Assert.AreEqual("C:\\Sounds/test.mp3", customSoundBlockItem.Value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_SpecificTest_2()
|
||||
{
|
||||
@@ -1326,13 +1406,13 @@ namespace Filtration.Parser.Tests.Services
|
||||
{
|
||||
// Arrange
|
||||
var expectedResult = "Show # Child 1 Block Group - Child 2 Block Group";
|
||||
|
||||
|
||||
var rootBlockGroup = new ItemFilterBlockGroup("Root Block Group", null);
|
||||
var child1BlockGroup = new ItemFilterBlockGroup("Child 1 Block Group", rootBlockGroup);
|
||||
var child2BlockGroup = new ItemFilterBlockGroup("Child 2 Block Group", child1BlockGroup);
|
||||
_testUtility.TestBlock.BlockGroup = child2BlockGroup;
|
||||
|
||||
// TODO: Shouldn't be set to edited this way
|
||||
_testUtility.TestBlock.BlockGroup = child2BlockGroup;
|
||||
|
||||
// TODO: Shouldn't be set to edited this way
|
||||
_testUtility.TestBlock.IsEdited = true;
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
|
||||
@@ -1851,7 +1931,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
{
|
||||
// Arrange
|
||||
var expectedResult = "Show" + Environment.NewLine +
|
||||
" ItemLevel > 56" + Environment.NewLine +
|
||||
" ItemLevel > 56" + Environment.NewLine +
|
||||
" ItemLevel >= 45" + Environment.NewLine +
|
||||
" ItemLevel < 100";
|
||||
|
||||
@@ -1893,7 +1973,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
// Arrange
|
||||
var expectedResult = "#Show" + Environment.NewLine +
|
||||
"# Width = 4";
|
||||
|
||||
|
||||
|
||||
_testUtility.TestBlock.Enabled = false;
|
||||
_testUtility.TestBlock.BlockItems.Add(new WidthBlockItem(FilterPredicateOperator.Equal, 4));
|
||||
@@ -1940,7 +2020,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
" DisableDropSound True" + Environment.NewLine +
|
||||
" MinimapIcon 1 Blue Circle" + Environment.NewLine +
|
||||
" PlayEffect Red Temp" + Environment.NewLine +
|
||||
" CustomAlertSound \"test.mp3\"";
|
||||
" CustomAlertSound \"test.mp3\"";
|
||||
|
||||
_testUtility.TestBlock.BlockItems.Add(new ActionBlockItem(BlockAction.Show));
|
||||
_testUtility.TestBlock.BlockItems.Add(new IdentifiedBlockItem(true));
|
||||
@@ -2008,7 +2088,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
|
||||
// Act
|
||||
_testUtility.Translator.ReplaceAudioVisualBlockItemsFromString(testInputBlockItems, testInputString);
|
||||
|
||||
|
||||
// Assert
|
||||
var textColorBlockItem = testInputBlockItems.First(b => b is TextColorBlockItem) as TextColorBlockItem;
|
||||
Assert.IsNotNull(textColorBlockItem);
|
||||
@@ -2083,7 +2163,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
// Arrange
|
||||
var testInputString = "SetTextColor 240 200 150 # Rarest Currency" + Environment.NewLine +
|
||||
"SetBackgroundColor 0 0 0 # Rarest Currency Background" + Environment.NewLine +
|
||||
"SetBorderColor 255 255 255 # Rarest Currency Border" + Environment.NewLine +
|
||||
"SetBorderColor 255 255 255 # Rarest Currency Border" + Environment.NewLine +
|
||||
"PlayAlertSound 7 280";
|
||||
|
||||
var testInputBlockItems = new ObservableCollection<IItemFilterBlockItem>();
|
||||
@@ -2129,9 +2209,9 @@ namespace Filtration.Parser.Tests.Services
|
||||
// Arrange
|
||||
var testInputString = "SetTextColor 240 200 150 # Rarest Currency" + Environment.NewLine +
|
||||
"SetBackgroundColor 0 0 0 # Rarest Currency Background" + Environment.NewLine +
|
||||
"SetBorderColor 255 255 255 # Rarest Currency Border" + Environment.NewLine +
|
||||
"SetBorderColor 255 255 255 # Rarest Currency Border" + Environment.NewLine +
|
||||
"PlayAlertSound 7 280";
|
||||
|
||||
|
||||
var testInputBlockItems = new ObservableCollection<IItemFilterBlockItem>();
|
||||
|
||||
// Act
|
||||
@@ -2201,9 +2281,9 @@ namespace Filtration.Parser.Tests.Services
|
||||
_testUtility.Translator.ReplaceAudioVisualBlockItemsFromString(testInputBlockItems, testInputString);
|
||||
|
||||
// Assert
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
private class ItemFilterBlockTranslatorTestUtility
|
||||
{
|
||||
public ItemFilterBlockTranslatorTestUtility()
|
||||
|
||||
Reference in New Issue
Block a user