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

(开头部分) 2KB

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

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

    [TestFixture]
    internal sealed class EnumeratingDirectoriesTests
    {
        private DirectoryInfo _root;
        
        [OneTimeSetUp]
        public void SetUp() => _root = new DirectoryInfo(Path.Combine(Path.GetTempPath(), "_-EnumeratingDirectoriesTests-_"));
        
        [Test]
        public void When_enumerating_directories()
        {
            var dir = _root.CreateSubdirectory(Path.GetRandomFileName());
            dir.Create();
            var aSub = dir.CreateSubdirectory("A");
            var aSub1 = aSub.CreateSubdirectory("a1");
            aSub1.CreateSubdirectory("a1s");
            var bSub = dir.CreateSubdirectory("B");
                
            var result = dir.EnumerateDirectoriesSafe().ToArray();
            result.Length.ShouldBe(2);
            result.ShouldContain(d => d.Name == "A");
            result.ShouldContain(d => d.Name == "B");
        }

        [Test]
        public void When_enumerating_directories_recursive()
        {
            var dir = _root.CreateSubdirectory(Path.GetRandomFileName());
            dir.Create();
            var aSub = dir.CreateSubdirectory("A");
            var aSub1 = aSub.CreateSubdirectory("a1");
            aSub1.CreateSubdirectory("a1s");
            var bSub = dir.CreateSubdirectory("B");
                
            var result = dir.EnumerateDirectoriesSafe("*", SearchOption.AllDirectories).ToArray();
            result.Length.ShouldBe(4);
            result.ShouldContain(d => d.Name == "A");
            result.ShouldContain(d => d.Name == "a1");
            result.ShouldContain(d => d.Name == "a1s");
            result.ShouldContain(d => d.Name == "B");
        }

        [Test]
        public void When_enumerating_directories_search()
        {
            var dir = _root.CreateSubdirectory(Path.GetRandomFileName());
            dir.Create();
            var aSub = dir.CreateSubdirectory("A");
            var aSub1 = aSub.CreateSubdirectory("a1");
            aSub1.CreateSubdirectory("a1s");
            var bSub = dir.CreateSubdirectory("B");
                
后面还有 11 行代码,解锁后查看完整代码

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

AI 解读

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

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