FIL-1 Changed Block Group Parsing to use " - " as delimiter instead of "-"
This commit is contained in:
parent
2d98f7de36
commit
bb77138854
|
@ -119,7 +119,7 @@ namespace Filtration.Parser.Tests.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TranslateStringToItemFilterBlock_NoBlockGroupComment_CallsBlockGroupHierarchyBuilder()
|
public void TranslateStringToItemFilterBlock_NoBlockGroupComment_DoesNotCallBlockGroupHierarchyBuilder()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var inputString = "Show" + Environment.NewLine;
|
var inputString = "Show" + Environment.NewLine;
|
||||||
|
@ -139,7 +139,6 @@ namespace Filtration.Parser.Tests.Services
|
||||||
var inputString = "Show #" + Environment.NewLine;
|
var inputString = "Show #" + Environment.NewLine;
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
_testUtility.MockBlockGroupHierarchyBuilder.Setup(b => b.IntegrateStringListIntoBlockGroupHierarchy(It.IsAny<IEnumerable<string>>())).Verifiable();
|
|
||||||
_testUtility.Translator.TranslateStringToItemFilterBlock(inputString, null);
|
_testUtility.Translator.TranslateStringToItemFilterBlock(inputString, null);
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
|
@ -154,7 +153,31 @@ namespace Filtration.Parser.Tests.Services
|
||||||
var testBlockGroup = new ItemFilterBlockGroup("zzzzz", null);
|
var testBlockGroup = new ItemFilterBlockGroup("zzzzz", null);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
_testUtility.MockBlockGroupHierarchyBuilder.Setup(b => b.IntegrateStringListIntoBlockGroupHierarchy(It.IsAny<IEnumerable<string>>())).Returns(testBlockGroup).Verifiable();
|
_testUtility.MockBlockGroupHierarchyBuilder
|
||||||
|
.Setup(b => b.IntegrateStringListIntoBlockGroupHierarchy(It.Is<IEnumerable<string>>(s => s.Contains("Test Block Group") && s.Contains("Test Sub Block Group") && s.Contains("Test Another Block Group"))))
|
||||||
|
.Returns(testBlockGroup)
|
||||||
|
.Verifiable();
|
||||||
|
|
||||||
|
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, null);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.AreEqual(testBlockGroup, result.BlockGroup);
|
||||||
|
_testUtility.MockBlockGroupHierarchyBuilder.Verify();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void TranslateStringToItemFilterBlock_BlockGroupComment_NoSpacingAroundHyphens_SetsBlockItemGroupCorrectly()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var inputString = "Show # AAA-BBB-CCC" + Environment.NewLine;
|
||||||
|
var testBlockGroup = new ItemFilterBlockGroup("zzzzz", null);
|
||||||
|
|
||||||
|
// Act
|
||||||
|
_testUtility.MockBlockGroupHierarchyBuilder
|
||||||
|
.Setup(b => b.IntegrateStringListIntoBlockGroupHierarchy(It.Is<IEnumerable<string>>(s => s.Contains("AAA-BBB-CCC"))))
|
||||||
|
.Returns(testBlockGroup)
|
||||||
|
.Verifiable();
|
||||||
|
|
||||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, null);
|
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, null);
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
|
|
|
@ -56,7 +56,7 @@ namespace Filtration.Parser.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
var adjustedLine = line.Replace("#", " # ");
|
var adjustedLine = line.Replace("#", " # ");
|
||||||
var trimmedLine = adjustedLine.TrimStart(' ').TrimEnd(' ');
|
var trimmedLine = adjustedLine.Trim();
|
||||||
|
|
||||||
var spaceOrEndOfLinePos = trimmedLine.IndexOf(" ", StringComparison.Ordinal) > 0 ? trimmedLine.IndexOf(" ", StringComparison.Ordinal) : trimmedLine.Length;
|
var spaceOrEndOfLinePos = trimmedLine.IndexOf(" ", StringComparison.Ordinal) > 0 ? trimmedLine.IndexOf(" ", StringComparison.Ordinal) : trimmedLine.Length;
|
||||||
|
|
||||||
|
@ -395,7 +395,10 @@ namespace Filtration.Parser.Services
|
||||||
if (blockGroupStart <= 0) return;
|
if (blockGroupStart <= 0) return;
|
||||||
|
|
||||||
var blockGroupText = inputString.Substring(blockGroupStart + 1);
|
var blockGroupText = inputString.Substring(blockGroupStart + 1);
|
||||||
var blockGroups = blockGroupText.Split('-').ToList();
|
var blockGroups = blockGroupText.Split(new[] { " - " }, StringSplitOptions.RemoveEmptyEntries)
|
||||||
|
.Select(s => s.Trim())
|
||||||
|
.ToList();
|
||||||
|
|
||||||
if (blockGroups.Count(b => !string.IsNullOrEmpty(b.Trim())) > 0)
|
if (blockGroups.Count(b => !string.IsNullOrEmpty(b.Trim())) > 0)
|
||||||
{
|
{
|
||||||
block.BlockGroup = _blockGroupHierarchyBuilder.IntegrateStringListIntoBlockGroupHierarchy(blockGroups);
|
block.BlockGroup = _blockGroupHierarchyBuilder.IntegrateStringListIntoBlockGroupHierarchy(blockGroups);
|
||||||
|
|
Loading…
Reference in New Issue