コード例 #1
0
        public void TestGetFileSystemInfo()
        {
            var srcPath           = @"../../../src";
            var directoryInfo     = Directory.CreateDirectory(srcPath);
            var subDirChild1      = directoryInfo.CreateSubdirectory("Child1");
            var subDirDescendant1 = subDirChild1.CreateSubdirectory("Descendant1");
            var subDirDescendant2 = subDirChild1.CreateSubdirectory("Descendant2");
            var subDirDescendant3 = subDirChild1.CreateSubdirectory("Descendant3");
            var subDirChild1_1    = subDirChild1.CreateSubdirectory("Child1_1");
            var subDirChild1_2    = subDirChild1.CreateSubdirectory("Child1_2");

            foreach (var i in Enumerable.Range(1, 10))
            {
                var fileName = "abc" + i + ".txt";
                FileIOSample.WriteUsingStreamWriter(Path.Combine(srcPath, fileName));
            }
            foreach (var i in Enumerable.Range(1, 5))
            {
                var fileName = "def" + i + ".txt";
                FileIOSample.WriteUsingStreamWriter(Path.Combine(srcPath, fileName));
            }
            var fileSystems = directoryInfo.EnumerateFileSystemInfos("*", SearchOption.AllDirectories);
            var dirCount    = fileSystems.Where(f => (f.Attributes & FileAttributes.Directory) == FileAttributes.Directory)
                              .Count();

            Assert.AreEqual(dirCount, 7);
            var fileCount = fileSystems.Where(f => (f.Attributes & FileAttributes.Directory) != FileAttributes.Directory)
                            .Count();

            Assert.AreEqual(fileCount, 15);
        }
コード例 #2
0
        public void TestDirectoryExist()
        {
            var srcPath  = @"../../../src";
            var destPath = @"../../../dest";

            FileIOSample.CreateDirectory(srcPath);
            FileIOSample.CreateDirectory(destPath);

            Assert.AreEqual(Directory.Exists(srcPath), true);
            Assert.AreEqual(Directory.Exists(destPath), true);
        }
コード例 #3
0
        public void TestFileSize()
        {
            var srcPath  = @"../../../src";
            var destPath = @"../../../dest";

            FileIOSample.CreateDirectory(srcPath);
            FileIOSample.CreateDirectory(destPath);

            var fileName     = "SampleWriteFile.TXT";
            var srcFilePath  = Path.Combine(srcPath, fileName);
            var destFilePath = Path.Combine(destPath, fileName);

            File.Delete(srcFilePath);
            File.Delete(destFilePath);

            FileIOSample.WriteUsingStreamWriter(srcFilePath);
            FileIOSample.WriteUsingStreamWriter(destFilePath);
            var  fileInfo = new FileInfo(srcFilePath);
            long size     = fileInfo.Length;
        }
コード例 #4
0
        public void TestFileMove()
        {
            var srcPath  = @"../../../src";
            var destPath = @"../../../dest";

            FileIOSample.CreateDirectory(srcPath);
            FileIOSample.CreateDirectory(destPath);

            var fileName     = "SampleWriteFile.TXT";
            var srcFilePath  = Path.Combine(srcPath, fileName);
            var destFilePath = Path.Combine(destPath, fileName);

            File.Delete(srcFilePath);
            File.Delete(destFilePath);

            FileIOSample.WriteUsingStreamWriter(srcFilePath);
            Assert.AreEqual(File.Exists(srcFilePath), true);

            File.Move(srcFilePath, destFilePath);
        }
コード例 #5
0
        public void TestDriectoryEnumerateFiles()
        {
            var srcPath       = @"../../../src";
            var directoryInfo = Directory.CreateDirectory(srcPath);

            foreach (var i in Enumerable.Range(1, 10))
            {
                var fileName = "abc" + i + ".txt";
                FileIOSample.WriteUsingStreamWriter(Path.Combine(srcPath, fileName));
            }
            foreach (var i in Enumerable.Range(1, 5))
            {
                var fileName = "def" + i + ".txt";
                FileIOSample.WriteUsingStreamWriter(Path.Combine(srcPath, fileName));
            }

            var filesNameStartWithAandCount5 = directoryInfo.EnumerateFiles("a*", SearchOption.AllDirectories)
                                               .Take(5);

            Assert.AreEqual(filesNameStartWithAandCount5.Count(), 5);
        }
コード例 #6
0
        public void TestDirectoryGetFiles()
        {
            var srcPath       = @"../../../src";
            var directoryInfo = Directory.CreateDirectory(srcPath);

            foreach (var i in Enumerable.Range(1, 10))
            {
                var fileName = "abc" + i + ".txt";
                FileIOSample.WriteUsingStreamWriter(Path.Combine(srcPath, fileName));
            }
            foreach (var i in Enumerable.Range(1, 5))
            {
                var fileName = "def" + i + ".txt";
                FileIOSample.WriteUsingStreamWriter(Path.Combine(srcPath, fileName));
            }
            FileInfo[] files = directoryInfo.GetFiles();
            Assert.AreEqual(files.Length, 15);

            FileInfo[] filesNameStartWithA = directoryInfo.GetFiles("a*", SearchOption.AllDirectories);
            Assert.AreEqual(filesNameStartWithA.Length, 10);
        }
コード例 #7
0
        public void TestLastModifiedTime()
        {
            var srcPath  = @"../../../src";
            var destPath = @"../../../dest";

            FileIOSample.CreateDirectory(srcPath);
            FileIOSample.CreateDirectory(destPath);

            var fileName     = "SampleWriteFile.TXT";
            var srcFilePath  = Path.Combine(srcPath, fileName);
            var destFilePath = Path.Combine(destPath, fileName);

            File.Delete(srcFilePath);
            File.Delete(destFilePath);

            FileIOSample.WriteUsingStreamWriter(srcFilePath);
            FileIOSample.WriteUsingStreamWriter(destFilePath);

            var lastWriteTime = File.GetLastWriteTime(srcFilePath);

            File.SetLastWriteTime(destFilePath, lastWriteTime);

            Assert.AreEqual(File.GetLastWriteTime(srcFilePath), File.GetLastWriteTime(destFilePath));
        }