Browse Source

Added ProcessFolderRecursiveMultipleExtensionsTest

Piotr Czajkowski 1 year ago
parent
commit
14581c8736

+ 31 - 17
ProcessFilesTests/ProcessFilesTests.cs

@@ -1,4 +1,5 @@
-using System.Collections.Generic;
+using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Extensions;
+using System.Collections.Generic;
 using System.IO;
 using Xunit;
 
@@ -15,8 +16,19 @@ namespace ProcessFilesTests
             "test3.txt"
         };
 
+        private readonly List<string> expectedInSubFolderMultipleExtensions = new()
+        {
+            "test.json"
+        };
+
         private readonly string expectedInFolder = "test1.txt";
 
+        public ProcessFilesTests()
+        {
+            expectedInSubFolder.Add(expectedInFolder);
+            expectedInSubFolderMultipleExtensions.AddRange(expectedInSubFolder);
+        }
+
         [Fact]
         public void ProcessFolderTest()
         {
@@ -31,7 +43,7 @@ namespace ProcessFilesTests
             Assert.Equal(expectedInFolder, result);
         }
 
-        private bool CheckResult(List<string> result, List<string> expected)
+        private static bool CheckResult(List<string> result, List<string> expected)
         {
             if (!result.Count.Equals(expected.Count))
                 return false;
@@ -48,12 +60,6 @@ namespace ProcessFilesTests
         [Fact]
         public void ProcessFolderRecursiveTest()
         {
-            var expected = new List<string>
-            {
-                expectedInFolder
-            };
-            expected.AddRange(expectedInSubFolder);
-
             var result = new List<string>();
             void Callback(string value)
             {
@@ -62,18 +68,12 @@ namespace ProcessFilesTests
 
             var errors = ProcessFiles.ProcessFiles.Process(new[] { testFolder }, "txt", Callback, true);
             Assert.Empty(errors);
-            Assert.True(CheckResult(result, expected));
+            Assert.True(CheckResult(result, expectedInSubFolder));
         }
 
         [Fact]
         public void ProcessFolderAndFileTest()
-        {
-            var expected = new List<string>
-            {
-                expectedInFolder
-            };
-            expected.AddRange(expectedInSubFolder);
-
+        {   
             var result = new List<string>();
             void Callback(string value)
             {
@@ -82,7 +82,7 @@ namespace ProcessFilesTests
 
             var errors = ProcessFiles.ProcessFiles.Process(new[] { "./testFiles/subFolder", testFile }, "txt", Callback);
             Assert.Empty(errors);
-            Assert.True(CheckResult(result, expected));
+            Assert.True(CheckResult(result, expectedInSubFolder));
         }
 
         [Fact]
@@ -126,5 +126,19 @@ namespace ProcessFilesTests
             Assert.NotEmpty(errors);
             Assert.Empty(result);
         }
+
+        [Fact]
+        public void ProcessFolderRecursiveMultipleExtensionsTest()
+        {
+            var result = new List<string>();
+            void Callback(string value)
+            {
+                result.Add(Path.GetFileName(value));
+            }
+
+            var errors = ProcessFiles.ProcessFiles.Process(new[] { testFolder }, new string[] { "txt", "json" }, Callback, true);
+            Assert.Empty(errors);
+            Assert.True(CheckResult(result, expectedInSubFolderMultipleExtensions));
+        }
     }
 }

+ 3 - 0
ProcessFilesTests/ProcessFilesTests.csproj

@@ -32,6 +32,9 @@
   </ItemGroup>
 
   <ItemGroup>
+    <None Update="testFiles\subFolder\test.json">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
     <None Update="testFiles\subFolder\test3.txt">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>

+ 0 - 0
ProcessFilesTests/testFiles/subFolder/test.json