GuiLabs.FileUtilities.Folder.FromDisk C# (CSharp) Method

FromDisk() public static method

public static FromDisk ( string folderPath ) : Folder
folderPath string
return Folder
        public static Folder FromDisk(string folderPath)
        {
            var name = Path.GetFileName(folderPath);
            var folders = Directory.GetDirectories(folderPath);
            var files = Directory.GetFiles(folderPath);
            return new Folder(
                name,
                folders.Select(f => FromDisk(f)),
                files.Select(f => new File(
                    Path.GetFileName(f),
                    System.IO.File.ReadAllText(f))));
        }

Usage Example

Beispiel #1
0
        private void T(Folder source, Folder destination)
        {
            var entrypointDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            var root = Path.Combine(entrypointDirectory, nameof(ContentSyncTests));

            if (Directory.Exists(root))
            {
                Directory.Delete(root, recursive: true);
            }

            Directory.CreateDirectory(root);

            source.CreateOnDisk(root);
            destination.CreateOnDisk(root);

            var sourcePath      = Path.Combine(root, source.Name);
            var destinationPath = Path.Combine(root, destination.Name);

            Sync.Directories(sourcePath, destinationPath, new Arguments(sourcePath, destinationPath));

            var actual = Folder.FromDisk(Path.Combine(root, destination.Name));

            var areIdentical = Folder.AreIdentical(source, actual);

            Assert.True(areIdentical);

            Directory.Delete(root, recursive: true);
        }