ImgMetadataRemover/ConsoleInterface.Tests/TestLocalFileBrowser.cs

49 lines
1.5 KiB
C#
Raw Normal View History

2022-04-02 14:22:42 +00:00
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using Xunit;
namespace ConsoleInterface.Tests;
public class TestLocalFileBrowser
{
private readonly string? _testsProjectDirectory;
public TestLocalFileBrowser()
{
_testsProjectDirectory = Environment.GetEnvironmentVariable("IMAGE_CORE_TESTS");
2022-04-02 14:33:48 +00:00
if (_testsProjectDirectory == null)
{
throw new Exception("Environment variable IMAGE_CORE_TESTS is not set!");
}
2022-04-02 14:22:42 +00:00
}
[Fact]
public void TestGetFilenamesFromPath_DirectoryNotFound()
{
var filesRetriever = LocalFileBrowser.Create();
Assert.Throws<DirectoryNotFoundException>(() => filesRetriever.GetFilenamesFromPath("a"));
}
[Fact]
public void TestGetFilenamesFromPath()
{
var filesRetriever = LocalFileBrowser.Create();
Debug.Assert(_testsProjectDirectory != null, nameof(_testsProjectDirectory) + " != null");
var filePaths = filesRetriever.GetFilenamesFromPath(Path.Combine(_testsProjectDirectory, "test_pictures"));
Assert.NotNull(filePaths);
var filePathsList = filePaths.ToList();
var expectedFileNames = new List<string>
{
"IMG_0138.HEIC", "IMG_0138.jpg", "IMG_0140.HEIC"
};
Assert.NotEmpty(filePathsList);
for (var i = 0; i < filePathsList.Count; i++)
2022-04-02 14:33:48 +00:00
{
2022-04-02 14:22:42 +00:00
Assert.Equal(expectedFileNames[i], Path.GetFileName(filePathsList[i]));
2022-04-02 14:33:48 +00:00
}
2022-04-02 14:22:42 +00:00
}
}