wabbajack/Wabbajack.Test/MO2Tests.cs

72 lines
2.7 KiB
C#
Raw Normal View History

2020-03-27 03:33:24 +00:00
using System.IO;
using System.Threading.Tasks;
using Wabbajack.Common;
using Wabbajack.Lib;
2020-03-27 03:33:24 +00:00
using Xunit;
namespace Wabbajack.Test
{
public class MO2Tests
{
#region CheckValidInstallPath
2020-03-27 03:33:24 +00:00
[Fact]
public async Task CheckValidInstallPath_Empty()
{
await using var tempDir = await TempFolder.Create();
Assert.True(MO2Installer.CheckValidInstallPath(tempDir.Dir, null, null).Succeeded);
}
2020-03-27 03:33:24 +00:00
[Fact]
public async Task CheckValidInstallPath_DoesNotExist()
{
await using var tempDir = await TempFolder.Create();
Assert.True(MO2Installer.CheckValidInstallPath(tempDir.Dir.Combine("Subfolder"), null, null).Succeeded);
}
2020-03-27 03:33:24 +00:00
[Fact]
public async Task CheckValidInstallPath_HasModlist()
{
await using var tempDir = await TempFolder.Create();
await using var mo2 = await tempDir.Dir.Combine("ModOrganizer.exe").Create();
await using var molist = await tempDir.Dir.Combine(((RelativePath)"modlist")).WithExtension(Consts.ModListExtension).Create();
Assert.False(MO2Installer.CheckValidInstallPath(tempDir.Dir, null, null).Succeeded);
}
2020-03-27 03:33:24 +00:00
[Fact]
public async Task CheckValidInstallPath_ProperOverwrite()
{
await using var tempDir = await TempFolder.Create();
await using var tmp = await tempDir.Dir.Combine(Consts.ModOrganizer2Exe).Create();
Assert.True(MO2Installer.CheckValidInstallPath(tempDir.Dir, null, null).Succeeded);
}
2020-03-27 03:33:24 +00:00
[Fact]
public async Task CheckValidInstallPath_ImproperOverwrite()
{
await using var tempDir = await TempFolder.Create();
await tempDir.Dir.DeleteDirectory();
2020-03-27 03:33:24 +00:00
tempDir.Dir.CreateDirectory();
await using var tmp = await tempDir.Dir.Combine($"someFile.txt").Create();
Assert.False(MO2Installer.CheckValidInstallPath(tempDir.Dir, null, null).Succeeded);
}
2020-03-27 03:33:24 +00:00
[Fact]
public async Task CheckValidInstallPath_OverwriteFilesInDownloads()
{
await using var tempDir = await TempFolder.Create();
2020-03-27 03:33:24 +00:00
var downloadsFolder = tempDir.Dir.Combine("downloads");
downloadsFolder.CreateDirectory();
await using var tmp = await tempDir.Dir.Combine($"downloads/someFile.txt").Create();
Assert.True(MO2Installer.CheckValidInstallPath(tempDir.Dir, downloadsFolder, null).Succeeded);
}
[Fact]
public async Task CheckValidInstallPath_NullPath()
{
var tempDir = new AbsolutePath("", true);
Assert.True(MO2Installer.CheckValidInstallPath(tempDir, null, null).Succeeded == false);
}
#endregion
}
}