public void UpdateOnlyChapterNumberOfListingUsingChapterNumberFromFolder_UnitTestsAlsoUpdated_ListingsAndTestsUpdated() { ICollection <string> filesToMake = new List <string> { "Chapter42/Listing01.01.cs", "Chapter42/Listing01.01A.Some.cs", "Chapter42/Listing01.01B.cs", "Chapter42/Listing01.01C.cs", "Chapter42/Listing01.05.cs", "Chapter42.Tests/Listing01.01.cs", "Chapter42.Tests/Listing01.01A.Some.cs", "Chapter42.Tests/Listing01.01B.cs", "Chapter42.Tests/Listing01.01C.cs", "Chapter42.Tests/Listing01.05.cs" }; ICollection <string> expectedFiles = new List <string> { @"Chapter42\Listing42.01.cs", @"Chapter42\Listing42.01A.Some.cs", @"Chapter42\Listing42.01B.cs", @"Chapter42\Listing42.01C.cs", @"Chapter42\Listing42.05.cs", @"Chapter42.Tests\Listing42.01.cs", @"Chapter42.Tests\Listing42.01A.Some.cs", @"Chapter42.Tests\Listing42.01B.cs", @"Chapter42.Tests\Listing42.01C.cs", @"Chapter42.Tests\Listing42.05.cs" }; IEnumerable <string> toWrite = new List <string> { "namespace AddisonWesley.Michaelis.EssentialCSharp.Chapter18.Listing18_01", "{", " using System;", " using System.Reflection;", " public class Program { }", "}" }; WriteFiles(filesToMake, toWrite); expectedFiles = ConvertFilenamesToFullPath(expectedFiles); foreach (string file in filesToMake) { CreatedFiles.Remove(file); } CreatedFiles.AddRange(expectedFiles); CreatedDirectories.Add("Chapter42"); CreatedDirectories.Add("Chapter42.Tests"); ListingManager.UpdateChapterListingNumbers(Path.Combine(Environment.CurrentDirectory, "Chapter42"), byFolder: true, chapterOnly: true); var files = FileManager.GetAllFilesAtPath(Environment.CurrentDirectory, true) .Where(x => Path.GetExtension(x) == ".cs").OrderBy(x => x).ToList(); //Assert CollectionAssert.AreEquivalent((ICollection)expectedFiles, files); }
public void Add([NotNull] FtpSummary other) { if (other == null) { throw new ArgumentNullException(nameof(other)); } Deleted.AddRange(other.Deleted); DeletedDirectories.AddRange(other.DeletedDirectories); CreatedDirectories.AddRange(other.CreatedDirectories); UpdatedFiles.AddRange(other.UpdatedFiles); CreatedFiles.AddRange(other.CreatedFiles); CreatedFiles = CreatedFiles.Except(UpdatedFiles).ToList(); IgnoredFiles.AddRange(other.IgnoredFiles); IgnoredDirectories.AddRange(other.IgnoredDirectories); }
public void UpdateChapterListingNumbers_AdditionalListings_ListingsRenumbered() { ICollection <string> filesToMake = new List <string> { "Listing01.01.cs", "Listing01.01A.Some.cs", "Listing01.01B.cs", "Listing01.01C.cs", "Listing01.02.cs", "Listing01.02A.Test.cs" }; ICollection <string> expectedFiles = new List <string> { "Listing01.01.cs", "Listing01.02.Some.cs", "Listing01.03.cs", "Listing01.04.cs", "Listing01.05.cs", "Listing01.06.Test.cs" }; IEnumerable <string> toWrite = new List <string> { "namespace AddisonWesley.Michaelis.EssentialCSharp.Chapter18.Listing18_01", "{", " using System;", " using System.Reflection;", " public class Program { }", "}" }; WriteFiles(filesToMake, toWrite); expectedFiles = ConvertFilenamesToFullPath(expectedFiles); foreach (string file in filesToMake) { CreatedFiles.Remove(file); } CreatedFiles.AddRange(expectedFiles); ListingManager.UpdateChapterListingNumbers(Environment.CurrentDirectory); var files = Directory.EnumerateFiles(Environment.CurrentDirectory) .Where(x => Path.GetExtension(x) == ".cs").OrderBy(x => x).ToList(); CollectionAssert.AreEquivalent((ICollection)expectedFiles, files); }
public void UpdateChapterListingNumbers_MultipleListingsMissing_ListingsRenumbered() { ICollection <string> filesToMake = new List <string> { "Listing09.01.DeclaringAStruct.cs", "Listing09.02.ErroneousInitialization.cs", "Listing09.03.AccessError.cs", "Listing09.05.SubtleBoxAndUnboxInstructions.cs", "Listing09.06.UnboxMustBeSameType.cs", "Listing09.07.SubtleBoxingIdiosyncrasies.cs", "Listing09.08.AvoidingUnboxingAndCopying.cs", "Listing09.09.ComparingAnIntegerSwitchToAnEnumSwitch.cs", "Listing09.10.DefiningAnEnum.cs", "Listing09.11.DefiningAnEnumType.cs", "Listing09.12.CastingBetweenArraysOfEnums.cs", "Listing09.13.ConvertingAStringToAnEnumUsingEnum.Parse.cs", "Listing09.14.ConvertingAStringToAnEnumUsingEnum.TryParse.cs", "Listing09.15.UsingEnumsAsFlags.cs", "Listing09.16.UsingBitwiseORandANDWithFlagEnums.cs", "Listing09.17.DefiningEnumValuesforFrequentCombinations.cs", "Listing09.18.UsingFlagsAttribute.cs" }; ICollection <string> expectedFiles = new List <string> { "Listing09.01.DeclaringAStruct.cs", "Listing09.02.ErroneousInitialization.cs", "Listing09.03.AccessError.cs", "Listing09.04.SubtleBoxAndUnboxInstructions.cs", "Listing09.05.UnboxMustBeSameType.cs", "Listing09.06.SubtleBoxingIdiosyncrasies.cs", "Listing09.07.AvoidingUnboxingAndCopying.cs", "Listing09.08.ComparingAnIntegerSwitchToAnEnumSwitch.cs", "Listing09.09.DefiningAnEnum.cs", "Listing09.10.DefiningAnEnumType.cs", "Listing09.11.CastingBetweenArraysOfEnums.cs", "Listing09.12.ConvertingAStringToAnEnumUsingEnum.Parse.cs", "Listing09.13.ConvertingAStringToAnEnumUsingEnum.TryParse.cs", "Listing09.14.UsingEnumsAsFlags.cs", "Listing09.15.UsingBitwiseORandANDWithFlagEnums.cs", "Listing09.16.DefiningEnumValuesforFrequentCombinations.cs", "Listing09.17.UsingFlagsAttribute.cs" }; IEnumerable <string> toWrite = new List <string> { "namespace AddisonWesley.Michaelis.EssentialCSharp.Chapter18.Listing18_01", "{", " using System;", " using System.Reflection;", " public class Program { }", "}" }; WriteFiles(filesToMake, toWrite); expectedFiles = ConvertFilenamesToFullPath(expectedFiles); foreach (string file in filesToMake) { CreatedFiles.Remove(file); } CreatedFiles.AddRange(expectedFiles); ListingManager.UpdateChapterListingNumbers(Environment.CurrentDirectory); var files = Directory.EnumerateFiles(Environment.CurrentDirectory) .Where(x => Path.GetExtension(x) == ".cs").OrderBy(x => x).ToList(); CollectionAssert.AreEquivalent((ICollection)expectedFiles, files); }