ProcessFilesTests.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using System.Collections.Generic;
  2. using System.IO;
  3. using Xunit;
  4. namespace ProcessFilesTests
  5. {
  6. public class ProcessFilesTests
  7. {
  8. private List<string> expectedInSubFolder = new List<string>
  9. {
  10. "test2.txt",
  11. "test3.txt"
  12. };
  13. private string exptectedInFolder = "test1.txt";
  14. [Fact]
  15. public void ProcessFolderTest()
  16. {
  17. var result = string.Empty;
  18. void Callback(string value)
  19. {
  20. result = Path.GetFileName(value);
  21. }
  22. var errors = ProcessFiles.ProcessFiles.Process(new[] { "./testFiles" }, "txt", Callback);
  23. Assert.Empty(errors);
  24. Assert.Equal(exptectedInFolder, result);
  25. }
  26. [Fact]
  27. public void ProcessFolderRecursiveTest()
  28. {
  29. var expected = new List<string>
  30. {
  31. exptectedInFolder
  32. };
  33. expected.AddRange(expectedInSubFolder);
  34. var result = new List<string>();
  35. void Callback(string value)
  36. {
  37. result.Add(Path.GetFileName(value));
  38. }
  39. var errors = ProcessFiles.ProcessFiles.Process(new[] { "./testFiles" }, "txt", Callback, true);
  40. Assert.Empty(errors);
  41. bool CheckResult()
  42. {
  43. foreach (var item in result)
  44. {
  45. if (!expected.Contains(item))
  46. return false;
  47. }
  48. return true;
  49. }
  50. Assert.True(CheckResult());
  51. }
  52. [Fact]
  53. public void ProcessFileTest()
  54. {
  55. var result = string.Empty;
  56. void Callback(string value)
  57. {
  58. result = Path.GetFileName(value);
  59. }
  60. var errors = ProcessFiles.ProcessFiles.Process(new[] { "./testFiles/test1.txt" }, "txt", Callback);
  61. Assert.Empty(errors);
  62. Assert.Equal(exptectedInFolder, result);
  63. }
  64. [Fact]
  65. public void ProcessFileNotExistTest()
  66. {
  67. var result = string.Empty;
  68. void Callback(string value)
  69. {
  70. result = value;
  71. }
  72. var errors = ProcessFiles.ProcessFiles.Process(new[] { "./testFiles/test.txt" }, "txt", Callback);
  73. Assert.NotEmpty(errors);
  74. Assert.NotEqual(exptectedInFolder, result);
  75. }
  76. [Fact]
  77. public void ProcessFileNotMatchExtensionTest()
  78. {
  79. var result = string.Empty;
  80. void Callback(string value)
  81. {
  82. result = value;
  83. }
  84. var errors = ProcessFiles.ProcessFiles.Process(new[] { "./testFiles/test1.txt" }, "abc", Callback);
  85. Assert.NotEmpty(errors);
  86. Assert.Empty(result);
  87. }
  88. }
  89. }