tests/DotNetCommon.Test/Extensions/FileAndDirectoryExtensions/EnumeratingFilesTests.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

namespace DotNetCommon.Test.Extensions.FileAndDirectoryExtensions
{
    using System.IO;
    using System.Linq;
    using NUnit.Framework;
    using Shouldly;
    using DotNetCommon.Extensions;

    [TestFixture]
    internal sealed class EnumeratingFilesTests
    {
        private DirectoryInfo _root;
        
        [OneTimeSetUp]
        public void SetUp() => _root = new DirectoryInfo(Path.Combine(Path.GetTempPath(), "_-EnumeratingFilesTests-_"));
        
        [Test]
        public void When_enumerating_files()
        {
            var dir = _root.CreateSubdirectory(Path.GetRandomFileName());
            dir.Create();

            File.Create(Path.Combine(dir.FullName, "0.bin")).Dispose();
            File.Create(Path.Combine(dir.FullName, "00.bin")).Dispose();

            var aSub = dir.CreateSubdirectory("A");
            File.Create(Path.Combine(aSub.FullName, "A_0.bin")).Dispose();

            var aSub1 = aSub.CreateSubdirectory("a1");
            File.Create(Path.Combine(aSub1.FullName, "A1_0.bin")).Dispose();

            var aSub1s = aSub1.CreateSubdirectory("a1s");
            File.Create(Path.Combine(aSub1s.FullName, "A11_0.bin")).Dispose();

            var bSub = dir.CreateSubdirectory("B");
            File.Create(Path.Combine(bSub.FullName, "B_0.bin")).Dispose();

            var result = dir.EnumerateFilesSafe().ToArray();
            result.Length.ShouldBe(2);
            result.ShouldContain(f => f.Name == "0.bin");
            result.ShouldContain(f => f.Name == "00.bin");
        }

        [Test]
        public void When_enumerating_files_recursive()
        {
            var dir = _root.CreateSubdirectory(Path.GetRandomFileName());
            dir.Create();
                
            File.Create(Path.Combine(dir.FullName, "0.bin")).Dispose();
            File.Create(Path.Combine(dir.FullName, "00.bin")).Dispose();

            var aSub = dir.CreateSubdirectory("A");
            File.Create(Path.Combine(aSub.FullName, "A_0.bin")).Dispose();

            var aSub1 = aSub.CreateSubdirectory("a1");
            File.Create(Path.Combine(aSub1.FullName, "A1_0.bin")).Dispose();

            var aSub1s = aSub1.CreateSubdirectory("a1s");
            File.Create(Path.Combine(aSub1s.FullName, "A11_0.bin")).Dispose();
后面还有 48 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。