예제 #1
0
        public void WhenGettingSizeInKBForRoot_ShouldReturnWholeTreeSize()
        {
            var root = builder
                       .AddDirectory("project1")
                       .AddFile("file1", 2100)
                       .AddFile("file2", 3100)
                       .SetCurrentDirectory("root")
                       .AddDirectory("project2")
                       .AddFile("file3", 6100)
                       .Build();

            root.GetSizeInKB().Should().Be((decimal)11.3);
        }
예제 #2
0
        private static void CallVirtualDirExample()
        {
            var builder = new FileSystemBuilder("root");

            builder.AddFile("file1.text", 1002);
            builder.AddFile("file2.text", 1002);
            builder.AddDirectory("folder1");
            builder.SetCurrentDirectory("folder1");
            builder.AddFile("fol1file1.text", 3432);
            builder.AddFile("fol1file2.text", 3432);
            builder.AddDirectory("folder2");

            System.Console.WriteLine("RootDir: " + builder.RootDirectory.Name + "-- Size: " + builder.RootDirectory.GetSizeInKb());
            System.Console.WriteLine(JsonConvert.SerializeObject(builder.RootDirectory, Formatting.Indented));
        }
예제 #3
0
        private static void ExampleBuilderComposite()
        {
            var builder = new FileSystemBuilder("development");

            // More readable
            builder.AddDirectory("project1");
            // Add files to project1
            builder.AddFile("p1f1.txt", 2100);
            builder.AddFile("p1f2.txt", 3100);
            //Add sub-dir to project1 dir
            builder.AddDirectory("sub-dir");
            // Add files to sub-dir
            builder.AddFile("p1f3.txt", 4100);
            builder.AddFile("p1f4.txt", 5100);
            builder.SetCurrentDirectory("development");
            builder.AddDirectory("project2");
            // Add files to project1
            builder.AddFile("p2f1.txt", 6100);
            builder.AddFile("p2f2.txt", 7100);

            Console.WriteLine($"Total size (root) : {builder.RootDirectory.GetSizeInKiloBytes()}");
            // Convert composite hierarchy to json representation
            Console.WriteLine(JsonConvert.SerializeObject(builder.RootDirectory, Formatting.Indented));
        }