public void New_name_returns_shorter_name_for_file_without_extension() { // Arrange var validator = new PackageValidator(); // file name with 200 chars var longEntry = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua, At vero eos et accusam et justo duo doloresi"; var packageItems = new List <TempValidationObject> { new TempValidationObject { // Fullname sind 205 Path = @"Test", Name = longEntry, FullName = $@"Test\{longEntry}", HierachyLevel = 2, IdPath = @"id1", RepositoryId = "id2", Type = TempValidationObjectType.File } }; // Act var result = validator.GetNewShorterNameForLongestElement(packageItems); // Assert result.Key.Should().Be("id2"); // Ester Eintrag um 5 gekürzt result.Value.Should().Be(longEntry.Substring(0, longEntry.Length - 5)); // Make sure not dot in filename result.Value.Should().NotContain("."); }
public void New_name_returns_shorter_name_for_file() { // Arrange var validator = new PackageValidator(); // file name with 200 chars + 4 chars for extension var longEntry = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores.pdf"; var packageItems = new List <TempValidationObject> { new TempValidationObject { // Fullname sind 208 Path = @"Test", Name = longEntry, FullName = $@"Test\{longEntry}", HierachyLevel = 2, IdPath = @"id1", RepositoryId = "id2", Type = TempValidationObjectType.File } }; // Act var result = validator.GetNewShorterNameForLongestElement(packageItems); // Assert result.Key.Should().Be("id2"); // Ester Eintrag um 8 + 4 Zeichen gekürzt result.Value.Should().Be(longEntry.Substring(0, longEntry.Length - (8 + 4)) + ".pdf"); // aber extension immer noch vorhanden result.Value.Should().EndWith(".pdf"); }
public void New_name_returns_shorter_name_for_folder_with_more_than_average_overflow() { // Arrange var validator = new PackageValidator(); // 40 Zeichen var longEntry = "Lorem ipsum dolor sit amet, consetetur s"; var packageItems = new List <TempValidationObject> { new TempValidationObject { // Fullname sind 331 Path = $@"{longEntry}1\{longEntry}2\{longEntry}3\{longEntry}4", Name = $"{longEntry}5", FullName = $@"{longEntry}1\{longEntry}2\{longEntry}3\{longEntry}4\{longEntry}5", HierachyLevel = 5, // gives an average lenth of 40 allowed chars per level IdPath = @"id1\id2\id3\id4", RepositoryId = "id5", Type = TempValidationObjectType.Folder } }; // Act var result = validator.GetNewShorterNameForLongestElement(packageItems); // Assert result.Key.Should().Be("id1"); // The first found entry // we just cut off one char from the longest entry, as we don't want to cut off // too much chars from one entry, if the distribution of length is similar result.Value.Should().Be(longEntry.Substring(0, longEntry.Length)); }
public void New_name_returns_shorter_name_for_folder_on_second_level() { // Arrange var validator = new PackageValidator(); // 300 Zeichen var longEntry = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lore"; var packageItems = new List <TempValidationObject> { new TempValidationObject { // Fullname sind 331 Path = $@"Test1\{longEntry}\Test2\Test3", Name = "My Directory", FullName = $@"Test1\{longEntry}\Test2\Test3\My Directory", HierachyLevel = 5, // gives an average lenth of 40 allowed chars per level IdPath = @"id1\id2\id3\id4", RepositoryId = "id5", Type = TempValidationObjectType.Folder } }; // Act var result = validator.GetNewShorterNameForLongestElement(packageItems); // Assert result.Key.Should().Be("id2"); // zweiter Eintrag um 131 Zeichen gekürzt result.Value.Should().Be(longEntry.Substring(0, longEntry.Length - 131)); }
public void New_name_returns_shorter_name_for_folder() { // Arrange var validator = new PackageValidator(); var longEntry = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores"; var packageItems = new List <TempValidationObject> { new TempValidationObject { // Erster Eintrag hat 200 Zeichen // Fullname sind 217 Path = $@"{longEntry}\Test", Name = "My Directory", FullName = $@"{longEntry}\Test\My Directory", HierachyLevel = 3, IdPath = @"id1\id2", RepositoryId = "id3", Type = TempValidationObjectType.Folder } }; // Act var result = validator.GetNewShorterNameForLongestElement(packageItems); // Assert result.Key.Should().Be("id1"); // Ester Eintrag um 17 Zeichen gekürzt (und getrimmt) result.Value.Should().Be(longEntry.Substring(0, longEntry.Length - 17).Trim()); }
public void New_name_returns_empty_value_if_no_element_too_short() { // Arrange var validator = new PackageValidator(); var packageItems = new List <TempValidationObject> { new TempValidationObject { Path = @"Test\Test", Name = "My Directory", FullName = @"Test\Test\My Directory", HierachyLevel = 3, IdPath = @"id1\id2", Type = TempValidationObjectType.Folder } }; // Act var result = validator.GetNewShorterNameForLongestElement(packageItems); // Assert result.Key.Should().BeNullOrEmpty(); }