diff --git a/Source/_Tests/FileManager.Tests/FileNamingTemplateTests.cs b/Source/_Tests/FileManager.Tests/FileNamingTemplateTests.cs index 2fb9c59e..c6b30dd8 100644 --- a/Source/_Tests/FileManager.Tests/FileNamingTemplateTests.cs +++ b/Source/_Tests/FileManager.Tests/FileNamingTemplateTests.cs @@ -15,12 +15,17 @@ namespace FileNamingTemplateTests [TestMethod] public void equiv_GetValidFilename() { - var expected = @"C:\foo\bar\my_ book LONG_1234567890_1234567890_1234567890_123 [ID123456].txt"; - var f1 = OLD_GetValidFilename(@"C:\foo\bar", "my: book LONG_1234567890_1234567890_1234567890_12345", "txt", "ID123456"); - var f2 = NEW_GetValidFilename_FileNamingTemplate(@"C:\foo\bar", "my: book LONG_1234567890_1234567890_1234567890_12345", "txt", "ID123456"); + var sb = new System.Text.StringBuilder(); + sb.Append('0', 300); + var longText = sb.ToString(); - f1.Should().Be(expected); - f1.Should().Be(f2); + var expectedOld = "C:\\foo\\bar\\my_ book 00000000000000000000000000000000000000000 [ID123456].txt"; + var expectedNew = "C:\\foo\\bar\\my_ book 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 [ID123456].txt"; + var f1 = OLD_GetValidFilename(@"C:\foo\bar", "my: book " + longText, "txt", "ID123456"); + var f2 = NEW_GetValidFilename_FileNamingTemplate(@"C:\foo\bar", "my: book " + longText, "txt", "ID123456"); + + f1.Should().Be(expectedOld); + f2.Should().Be(expectedNew); } private static string OLD_GetValidFilename(string dirFullPath, string filename, string extension, string metadataSuffix) { @@ -58,7 +63,7 @@ namespace FileNamingTemplateTests var fileNamingTemplate = new FileNamingTemplate(fullfilename) { IllegalCharacterReplacements = "_" }; fileNamingTemplate.AddParameterReplacement("title", filename); fileNamingTemplate.AddParameterReplacement("id", metadataSuffix); - return fileNamingTemplate.GetFilePath(); + return fileNamingTemplate.GetFilePath().PathWithoutPrefix; } [TestMethod] @@ -101,7 +106,7 @@ namespace FileNamingTemplateTests var fileNamingTemplate = new FileNamingTemplate(t) { IllegalCharacterReplacements = " " }; fileNamingTemplate.AddParameterReplacement("chapter", chapterCountLeadingZeros); fileNamingTemplate.AddParameterReplacement("title", suffix); - return fileNamingTemplate.GetFilePath(); + return fileNamingTemplate.GetFilePath().PathWithoutPrefix; } [TestMethod] @@ -109,7 +114,7 @@ namespace FileNamingTemplateTests { var fileNamingTemplate = new FileNamingTemplate(@"\foo\.txt"); fileNamingTemplate.AddParameterReplacement("title", @"s\l/a\s/h\e/s"); - fileNamingTemplate.GetFilePath().Should().Be(@"\foo\slashes.txt"); + fileNamingTemplate.GetFilePath().PathWithoutPrefix.Should().Be(@"\foo\slashes.txt"); } } } diff --git a/Source/_Tests/FileManager.Tests/FileUtilityTests.cs b/Source/_Tests/FileManager.Tests/FileUtilityTests.cs index ad0b3d2d..c61c55b2 100644 --- a/Source/_Tests/FileManager.Tests/FileUtilityTests.cs +++ b/Source/_Tests/FileManager.Tests/FileUtilityTests.cs @@ -36,7 +36,7 @@ namespace FileUtilityTests // remove empty directories [DataRow(@"C:\a\\\b\c\\\d.txt", "ZZZ", @"C:\a\b\c\d.txt")] [DataRow(@"C:\""foo\<id>", "ZZZ", @"C:\ZZZfoo\ZZZidZZZ")] - public void Tests(string inStr, string replacement, string outStr) => Assert.AreEqual(outStr, FileUtility.GetSafePath(inStr, replacement)); + public void Tests(string inStr, string replacement, string outStr) => Assert.AreEqual(outStr, FileUtility.GetSafePath(inStr, replacement).PathWithoutPrefix); } [TestClass] @@ -134,7 +134,7 @@ namespace FileUtilityTests // file end dots [DataRow(@"C:\a bc\x y z\f i l e.txt . . .", @"C:\a bc\x y z\f i l e.txt")] public void Tests(string input, string expected) - => FileUtility.GetValidFilename(input).Should().Be(expected); + => FileUtility.GetValidFilename(input).PathWithoutPrefix.Should().Be(expected); } [TestClass] diff --git a/Source/_Tests/LibationFileManager.Tests/TemplatesTests.cs b/Source/_Tests/LibationFileManager.Tests/TemplatesTests.cs index bd8d6db9..b0b417ff 100644 --- a/Source/_Tests/LibationFileManager.Tests/TemplatesTests.cs +++ b/Source/_Tests/LibationFileManager.Tests/TemplatesTests.cs @@ -74,24 +74,28 @@ namespace TemplatesTests public void Tests(string template, string asin, string dirFullPath, string extension, string expected) => Templates.getFileNamingTemplate(GetLibraryBook(asin), template, dirFullPath, extension) .GetFilePath() + .PathWithoutPrefix .Should().Be(expected); [TestMethod] public void IfSeries_empty() => Templates.getFileNamingTemplate(GetLibraryBook("asin", "Sherlock Holmes"), "foo<if series-><-if series>bar", @"C:\a\b", "ext") .GetFilePath() + .PathWithoutPrefix .Should().Be(@"C:\a\b\foobar.ext"); [TestMethod] public void IfSeries_no_series() => Templates.getFileNamingTemplate(GetLibraryBook("asin", ""), "foo<if series->-<series>-<id>-<-if series>bar", @"C:\a\b", "ext") .GetFilePath() + .PathWithoutPrefix .Should().Be(@"C:\a\b\foobar.ext"); [TestMethod] public void IfSeries_with_series() => Templates.getFileNamingTemplate(GetLibraryBook("asin", "Sherlock Holmes"), "foo<if series->-<series>-<id>-<-if series>bar", @"C:\a\b", "ext") .GetFilePath() + .PathWithoutPrefix .Should().Be(@"C:\a\b\foo-Sherlock Holmes-asin-bar.ext"); } }