From 477622f7ca077024751ee4f4799fb1f72a589cbe Mon Sep 17 00:00:00 2001 From: Justin Swanson Date: Fri, 20 Dec 2019 20:18:36 -0600 Subject: [PATCH] Some MO2Installer.CheckValidInstallPath unit tests --- Wabbajack.Test/MO2Tests.cs | 76 ++++++++++++++++++++++++++++ Wabbajack.Test/Wabbajack.Test.csproj | 1 + 2 files changed, 77 insertions(+) create mode 100644 Wabbajack.Test/MO2Tests.cs diff --git a/Wabbajack.Test/MO2Tests.cs b/Wabbajack.Test/MO2Tests.cs new file mode 100644 index 00000000..8762f06f --- /dev/null +++ b/Wabbajack.Test/MO2Tests.cs @@ -0,0 +1,76 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Wabbajack.Common; +using Wabbajack.Lib; + +namespace Wabbajack.Test +{ + [TestClass] + public class MO2Tests + { + #region CheckValidInstallPath + [TestMethod] + public void CheckValidInstallPath_Empty() + { + using (var tempDir = new TempFolder()) + { + Assert.IsTrue(MO2Installer.CheckValidInstallPath(tempDir.Dir.FullName).Succeeded); + } + } + + [TestMethod] + public void CheckValidInstallPath_DoesNotExist() + { + using (var tempDir = new TempFolder()) + { + Assert.IsTrue(MO2Installer.CheckValidInstallPath(Path.Combine(tempDir.Dir.FullName, "Subfolder")).Succeeded); + } + } + + [TestMethod] + public void CheckValidInstallPath_Invalid() + { + using (var tempDir = new TempFolder()) + { + Assert.IsFalse(MO2Installer.CheckValidInstallPath($"{tempDir.Dir.FullName}/*").Succeeded); + } + } + + [TestMethod] + public void CheckValidInstallPath_HasModlist() + { + using (var tempDir = new TempFolder()) + { + File.Create(Path.Combine(tempDir.Dir.FullName, $"ModOrganizer.exe")); + File.Create(Path.Combine(tempDir.Dir.FullName, $"modlist{ExtensionManager.Extension}")); + Assert.IsFalse(MO2Installer.CheckValidInstallPath(tempDir.Dir.FullName).Succeeded); + } + } + + [TestMethod] + public void CheckValidInstallPath_ProperOverwrite() + { + using (var tempDir = new TempFolder()) + { + File.Create(Path.Combine(tempDir.Dir.FullName, $"ModOrganizer.exe")); + Assert.IsTrue(MO2Installer.CheckValidInstallPath(tempDir.Dir.FullName).Succeeded); + } + } + + [TestMethod] + public void CheckValidInstallPath_ImproperOverwrite() + { + using (var tempDir = new TempFolder()) + { + File.Create(Path.Combine(tempDir.Dir.FullName, $"someFile.txt")); + Assert.IsFalse(MO2Installer.CheckValidInstallPath(tempDir.Dir.FullName).Succeeded); + } + } + #endregion + } +} diff --git a/Wabbajack.Test/Wabbajack.Test.csproj b/Wabbajack.Test/Wabbajack.Test.csproj index 6cddcaf3..d7314616 100644 --- a/Wabbajack.Test/Wabbajack.Test.csproj +++ b/Wabbajack.Test/Wabbajack.Test.csproj @@ -107,6 +107,7 @@ +