diff --git a/src/tests/fixtures.h b/src/tests/fixtures.h
deleted file mode 100644
index 3ce5db0f..00000000
--- a/src/tests/fixtures.h
+++ /dev/null
@@ -1,214 +0,0 @@
-/* LOOT
-
-A load order optimisation tool for Oblivion, Skyrim, Fallout 3 and
-Fallout: New Vegas.
-
-Copyright (C) 2013-2016 WrinklyNinja
-
-This file is part of LOOT.
-
-LOOT is free software: you can redistribute
-it and/or modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation, either version 3 of
-the License, or (at your option) any later version.
-
-LOOT is distributed in the hope that it will
-be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with LOOT. If not, see
-.
-*/
-
-#ifndef LOOT_TEST_FIXTURES
-#define LOOT_TEST_FIXTURES
-
-#include "printers.h"
-
-#include
-
-#include
-#include
-
-namespace loot {
- namespace test {
- class GenericGameTest : public ::testing::Test {
- protected:
- GenericGameTest(const std::string& gameName)
- : dataPath("./" + gameName + "/Data"),
- localPath("./local/" + gameName),
- missingPath("./missing"),
- masterFile(gameName + ".esm"),
- masterlistPath(localPath / "masterlist.yaml"),
- userlistPath(localPath / "userlist.yaml"),
- resourcePath(dataPath / "resource" / "detail" / "resource.txt") {}
-
- inline virtual void SetUp() {
- ASSERT_NO_THROW(boost::filesystem::create_directories(localPath));
- ASSERT_TRUE(boost::filesystem::exists(localPath));
-
- ASSERT_FALSE(boost::filesystem::exists(masterlistPath));
- ASSERT_FALSE(boost::filesystem::exists(userlistPath));
- ASSERT_FALSE(boost::filesystem::exists(localPath / ".git"));
- ASSERT_FALSE(boost::filesystem::exists(missingPath));
-
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank.esm"));
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank - Different.esm"));
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank - Master Dependent.esm"));
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank - Different Master Dependent.esm"));
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank.esp"));
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank - Different.esp"));
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank - Master Dependent.esp"));
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank - Different Master Dependent.esp"));
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank - Plugin Dependent.esp"));
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank - Different Plugin Dependent.esp"));
-
- ASSERT_FALSE(boost::filesystem::exists(dataPath / "Blank.missing.esm"));
- ASSERT_FALSE(boost::filesystem::exists(dataPath / "Blank.missing.esp"));
-
- // Ghost a plugin.
- ASSERT_FALSE(boost::filesystem::exists(dataPath / "Blank - Master Dependent.esm.ghost"));
- ASSERT_NO_THROW(boost::filesystem::rename(dataPath / "Blank - Master Dependent.esm", dataPath / "Blank - Master Dependent.esm.ghost"));
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank - Master Dependent.esm.ghost"));
-
- // Write out an empty file.
- boost::filesystem::ofstream out(dataPath / "EmptyFile.esm");
- out.close();
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "EmptyFile.esm"));
-
- // Write out an empty resource file.
- ASSERT_NO_THROW(boost::filesystem::create_directories(resourcePath.parent_path()));
- out.open(resourcePath);
- out.close();
- ASSERT_TRUE(boost::filesystem::exists(resourcePath));
-
- // Write out an non-empty, non-plugin file.
- out.open(dataPath / "NotAPlugin.esm");
- out << "This isn't a valid plugin file.";
- out.close();
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "NotAPlugin.esm"));
-
- // LOOT expects the game master file to be present, so mock it.
- ASSERT_FALSE(boost::filesystem::exists(dataPath / masterFile));
- ASSERT_NO_THROW(boost::filesystem::copy_file(dataPath / "Blank.esm", dataPath / masterFile));
- ASSERT_TRUE(boost::filesystem::exists(dataPath / masterFile));
-
- setLoadOrder();
-
- // Set Oblivion's active plugins to a known list before running the test.
- boost::filesystem::ofstream activePlugins(localPath / "plugins.txt");
- activePlugins
- << masterFile << std::endl
- << "Blank.esm" << std::endl
- << "Blank - Different Master Dependent.esp" << std::endl;
- activePlugins.close();
- }
-
- inline virtual void TearDown() {
- // Unghost the ghosted plugin.
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank - Master Dependent.esm.ghost"));
- ASSERT_NO_THROW(boost::filesystem::rename(dataPath / "Blank - Master Dependent.esm.ghost", dataPath / "Blank - Master Dependent.esm"));
- ASSERT_FALSE(boost::filesystem::exists(dataPath / "Blank - Master Dependent.esm.ghost"));
-
- // Delete generated files.
- ASSERT_NO_THROW(boost::filesystem::remove(dataPath / "EmptyFile.esm"));
- ASSERT_NO_THROW(boost::filesystem::remove(resourcePath));
- ASSERT_NO_THROW(boost::filesystem::remove(dataPath / "NotAPlugin.esm"));
- ASSERT_FALSE(boost::filesystem::exists(dataPath / "EmptyFile.esm"));
- ASSERT_FALSE(boost::filesystem::exists(resourcePath));
- ASSERT_FALSE(boost::filesystem::exists(dataPath / "NotAPlugin.esm"));
-
- // Masterlist & userlist may have been created during test, so delete them.
- ASSERT_NO_THROW(boost::filesystem::remove(masterlistPath));
- ASSERT_NO_THROW(boost::filesystem::remove(userlistPath));
-
- // Also remove the ".git" folder if it has been created.
- ASSERT_NO_THROW(boost::filesystem::remove_all(localPath / ".git"));
-
- // Delete the mock Oblivion.esm.
- ASSERT_TRUE(boost::filesystem::exists(dataPath / masterFile));
- ASSERT_NO_THROW(boost::filesystem::remove(dataPath / masterFile));
- ASSERT_FALSE(boost::filesystem::exists(dataPath / masterFile));
-
- // Delete existing plugins.txt.
- ASSERT_NO_THROW(boost::filesystem::remove(localPath / "plugins.txt"));
-
- // Delete loadorder.txt if it exists.
- ASSERT_NO_THROW(boost::filesystem::remove(localPath / "loadorder.txt"));
- }
-
- const boost::filesystem::path dataPath;
- const boost::filesystem::path localPath;
- const boost::filesystem::path missingPath;
-
- const std::string masterFile;
-
- const boost::filesystem::path masterlistPath;
- const boost::filesystem::path userlistPath;
-
- const boost::filesystem::path resourcePath;
- private:
- inline std::list GetExpectedSortedOrder() const {
- return std::list({
- masterFile,
- "Blank.esm",
- "Blank - Different.esm",
- "Blank - Master Dependent.esm", // Ghosted
- "Blank - Different Master Dependent.esm",
- "Blank.esp",
- "Blank - Different.esp",
- "Blank - Master Dependent.esp",
- "Blank - Different Master Dependent.esp",
- "Blank - Plugin Dependent.esp",
- "Blank - Different Plugin Dependent.esp"
- });
- }
-
- inline void setLoadOrder() {
- if (isTimestampLoadOrderMethod()) {
- time_t modificationTime = time(NULL); // Current time.
- for (const auto &plugin : GetExpectedSortedOrder()) {
- if (boost::filesystem::exists(dataPath / boost::filesystem::path(plugin + ".ghost"))) {
- boost::filesystem::last_write_time(dataPath / boost::filesystem::path(plugin + ".ghost"), modificationTime);
- }
- else {
- boost::filesystem::last_write_time(dataPath / plugin, modificationTime);
- }
- modificationTime += 60;
- }
- }
- else {
- boost::filesystem::ofstream loadOrder(localPath / "loadorder.txt");
- for (const auto &plugin : GetExpectedSortedOrder())
- loadOrder << plugin << std::endl;
- loadOrder.close();
- }
- }
-
- inline bool isTimestampLoadOrderMethod() {
- return masterFile == "Oblivion.esm";
- }
- };
-
- class OblivionTest : public GenericGameTest {
- protected:
- OblivionTest() : GenericGameTest("Oblivion") {}
- };
-
- class SkyrimTest : public GenericGameTest {
- protected:
- SkyrimTest() : GenericGameTest("Skyrim") {}
-
- inline virtual void SetUp() {
- GenericGameTest::SetUp();
-
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank.bsa"));
- ASSERT_TRUE(boost::filesystem::exists(dataPath / "Blank.bsl"));
- }
- };
- }
-}
-
-#endif