mirror of
https://github.com/SabreTools/MPF.git
synced 2026-02-04 21:30:11 +00:00
239 lines
9.3 KiB
C#
239 lines
9.3 KiB
C#
using System;
|
|
using System.IO;
|
|
using MPF.Processors.OutputFiles;
|
|
using Xunit;
|
|
|
|
namespace MPF.Processors.Test
|
|
{
|
|
public class OutputFileTests
|
|
{
|
|
#region Properties
|
|
|
|
[Theory]
|
|
[InlineData(OutputFileFlags.None, false)]
|
|
[InlineData(OutputFileFlags.Required, true)]
|
|
[InlineData(OutputFileFlags.Artifact, false)]
|
|
[InlineData(OutputFileFlags.Binary, false)]
|
|
[InlineData(OutputFileFlags.Deleteable, false)]
|
|
[InlineData(OutputFileFlags.Zippable, false)]
|
|
[InlineData(OutputFileFlags.Preserve, false)]
|
|
public void IsRequiredTest(OutputFileFlags flags, bool expected)
|
|
{
|
|
var of = new OutputFile("file", flags, "key");
|
|
var cof = new CustomOutputFile("file", flags, "key", File.Exists);
|
|
var rof = new RegexOutputFile("file", flags, "key");
|
|
|
|
Assert.Equal(expected, of.IsRequired);
|
|
Assert.Equal(expected, cof.IsRequired);
|
|
Assert.Equal(expected, rof.IsRequired);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(OutputFileFlags.None, false)]
|
|
[InlineData(OutputFileFlags.Required, false)]
|
|
[InlineData(OutputFileFlags.Artifact, true)]
|
|
[InlineData(OutputFileFlags.Binary, true)]
|
|
[InlineData(OutputFileFlags.Deleteable, false)]
|
|
[InlineData(OutputFileFlags.Zippable, false)]
|
|
[InlineData(OutputFileFlags.Preserve, false)]
|
|
public void IsArtifactTest(OutputFileFlags flags, bool expected)
|
|
{
|
|
var of = new OutputFile("file", flags, "key");
|
|
var cof = new CustomOutputFile("file", flags, "key", File.Exists);
|
|
var rof = new RegexOutputFile("file", flags, "key");
|
|
|
|
Assert.Equal(expected, of.IsArtifact);
|
|
Assert.Equal(expected, cof.IsArtifact);
|
|
Assert.Equal(expected, rof.IsArtifact);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(OutputFileFlags.None, false)]
|
|
[InlineData(OutputFileFlags.Required, false)]
|
|
[InlineData(OutputFileFlags.Artifact, false)]
|
|
[InlineData(OutputFileFlags.Binary, true)]
|
|
[InlineData(OutputFileFlags.Deleteable, false)]
|
|
[InlineData(OutputFileFlags.Zippable, false)]
|
|
[InlineData(OutputFileFlags.Preserve, false)]
|
|
public void IsBinaryArtifactTest(OutputFileFlags flags, bool expected)
|
|
{
|
|
var of = new OutputFile("file", flags, "key");
|
|
var cof = new CustomOutputFile("file", flags, "key", File.Exists);
|
|
var rof = new RegexOutputFile("file", flags, "key");
|
|
|
|
Assert.Equal(expected, of.IsBinaryArtifact);
|
|
Assert.Equal(expected, cof.IsBinaryArtifact);
|
|
Assert.Equal(expected, rof.IsBinaryArtifact);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(OutputFileFlags.None, false)]
|
|
[InlineData(OutputFileFlags.Required, false)]
|
|
[InlineData(OutputFileFlags.Artifact, false)]
|
|
[InlineData(OutputFileFlags.Binary, false)]
|
|
[InlineData(OutputFileFlags.Deleteable, true)]
|
|
[InlineData(OutputFileFlags.Zippable, false)]
|
|
[InlineData(OutputFileFlags.Preserve, false)]
|
|
public void IsDeleteableTest(OutputFileFlags flags, bool expected)
|
|
{
|
|
var of = new OutputFile("file", flags, "key");
|
|
var cof = new CustomOutputFile("file", flags, "key", File.Exists);
|
|
var rof = new RegexOutputFile("file", flags, "key");
|
|
|
|
Assert.Equal(expected, of.IsDeleteable);
|
|
Assert.Equal(expected, cof.IsDeleteable);
|
|
Assert.Equal(expected, rof.IsDeleteable);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(OutputFileFlags.None, false)]
|
|
[InlineData(OutputFileFlags.Required, false)]
|
|
[InlineData(OutputFileFlags.Artifact, false)]
|
|
[InlineData(OutputFileFlags.Binary, false)]
|
|
[InlineData(OutputFileFlags.Deleteable, false)]
|
|
[InlineData(OutputFileFlags.Zippable, true)]
|
|
[InlineData(OutputFileFlags.Preserve, true)]
|
|
public void IsZippableTest(OutputFileFlags flags, bool expected)
|
|
{
|
|
var of = new OutputFile("file", flags, "key");
|
|
var cof = new CustomOutputFile("file", flags, "key", File.Exists);
|
|
var rof = new RegexOutputFile("file", flags, "key");
|
|
|
|
Assert.Equal(expected, of.IsZippable);
|
|
Assert.Equal(expected, cof.IsZippable);
|
|
Assert.Equal(expected, rof.IsZippable);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(OutputFileFlags.None, false)]
|
|
[InlineData(OutputFileFlags.Required, false)]
|
|
[InlineData(OutputFileFlags.Artifact, false)]
|
|
[InlineData(OutputFileFlags.Binary, false)]
|
|
[InlineData(OutputFileFlags.Deleteable, false)]
|
|
[InlineData(OutputFileFlags.Zippable, false)]
|
|
[InlineData(OutputFileFlags.Preserve, true)]
|
|
public void IsPreservedTest(OutputFileFlags flags, bool expected)
|
|
{
|
|
var of = new OutputFile("file", flags, "key");
|
|
var cof = new CustomOutputFile("file", flags, "key", File.Exists);
|
|
var rof = new RegexOutputFile("file", flags, "key");
|
|
|
|
Assert.Equal(expected, of.IsPreserved);
|
|
Assert.Equal(expected, cof.IsPreserved);
|
|
Assert.Equal(expected, rof.IsPreserved);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Exists
|
|
|
|
[Fact]
|
|
public void Exists_Empty_False()
|
|
{
|
|
string outputDirectory = string.Empty;
|
|
var of = new OutputFile("pic.bin", OutputFileFlags.None, "key");
|
|
var cof = new CustomOutputFile("pic.bin", OutputFileFlags.None, "key", File.Exists);
|
|
var rof = new RegexOutputFile("pic.bin", OutputFileFlags.None, "key");
|
|
|
|
bool ofActual = of.Exists(outputDirectory);
|
|
bool cofActual = cof.Exists(outputDirectory);
|
|
bool rofActual = rof.Exists(outputDirectory);
|
|
|
|
Assert.False(ofActual);
|
|
Assert.False(cofActual);
|
|
Assert.False(rofActual);
|
|
}
|
|
|
|
[Fact]
|
|
public void Exists_Invalid_False()
|
|
{
|
|
string outputDirectory = "INVALID";
|
|
var of = new OutputFile("pic.bin", OutputFileFlags.None, "key");
|
|
var cof = new CustomOutputFile("pic.bin", OutputFileFlags.None, "key", File.Exists);
|
|
var rof = new RegexOutputFile("pic.bin", OutputFileFlags.None, "key");
|
|
|
|
bool ofActual = of.Exists(outputDirectory);
|
|
bool cofActual = cof.Exists(outputDirectory);
|
|
bool rofActual = rof.Exists(outputDirectory);
|
|
|
|
Assert.False(ofActual);
|
|
Assert.False(cofActual);
|
|
Assert.False(rofActual);
|
|
}
|
|
|
|
[Fact]
|
|
public void Exists_Valid_True()
|
|
{
|
|
string outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "BaseProcessor");
|
|
var of = new OutputFile("pic.bin", OutputFileFlags.None, "key");
|
|
var cof = new CustomOutputFile("pic.bin", OutputFileFlags.None, "key", File.Exists);
|
|
var rof = new RegexOutputFile("pic.bin", OutputFileFlags.None, "key");
|
|
|
|
bool ofActual = of.Exists(outputDirectory);
|
|
bool cofActual = cof.Exists(outputDirectory);
|
|
bool rofActual = rof.Exists(outputDirectory);
|
|
|
|
Assert.True(ofActual);
|
|
Assert.True(cofActual);
|
|
Assert.True(rofActual);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region GetPaths
|
|
|
|
[Fact]
|
|
public void GetPaths_Empty_Empty()
|
|
{
|
|
string outputDirectory = string.Empty;
|
|
var of = new OutputFile("pic.bin", OutputFileFlags.None, "key");
|
|
var cof = new CustomOutputFile("pic.bin", OutputFileFlags.None, "key", File.Exists);
|
|
var rof = new RegexOutputFile("pic.bin", OutputFileFlags.None, "key");
|
|
|
|
var ofActual = of.GetPaths(outputDirectory);
|
|
var cofActual = cof.GetPaths(outputDirectory);
|
|
var rofActual = rof.GetPaths(outputDirectory);
|
|
|
|
Assert.Empty(ofActual);
|
|
Assert.Empty(cofActual);
|
|
Assert.Empty(rofActual);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetPaths_Invalid_Empty()
|
|
{
|
|
string outputDirectory = "INVALID";
|
|
var of = new OutputFile("pic.bin", OutputFileFlags.None, "key");
|
|
var cof = new CustomOutputFile("pic.bin", OutputFileFlags.None, "key", File.Exists);
|
|
var rof = new RegexOutputFile("pic.bin", OutputFileFlags.None, "key");
|
|
|
|
var ofActual = of.GetPaths(outputDirectory);
|
|
var cofActual = cof.GetPaths(outputDirectory);
|
|
var rofActual = rof.GetPaths(outputDirectory);
|
|
|
|
Assert.Empty(ofActual);
|
|
Assert.Empty(cofActual);
|
|
Assert.Empty(rofActual);
|
|
}
|
|
|
|
[Fact]
|
|
public void GetPaths_Valid_Filled()
|
|
{
|
|
string outputDirectory = Path.Combine(Environment.CurrentDirectory, "TestData", "BaseProcessor");
|
|
var of = new OutputFile("pic.bin", OutputFileFlags.None, "key");
|
|
var cof = new CustomOutputFile("pic.bin", OutputFileFlags.None, "key", File.Exists);
|
|
var rof = new RegexOutputFile("pic.bin", OutputFileFlags.None, "key");
|
|
|
|
var ofActual = of.GetPaths(outputDirectory);
|
|
var cofActual = cof.GetPaths(outputDirectory);
|
|
var rofActual = rof.GetPaths(outputDirectory);
|
|
|
|
Assert.Single(ofActual);
|
|
Assert.Single(cofActual);
|
|
Assert.Single(rofActual);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|