diff --git a/CMakeLists.txt b/CMakeLists.txt
index ba05b741..e43334c7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -174,7 +174,12 @@ set (LOOT_TESTS_HEADERS "${CMAKE_SOURCE_DIR}/src/tests/fixtures.h"
"${CMAKE_SOURCE_DIR}/src/tests/backend/metadata/test_message_content.h"
"${CMAKE_SOURCE_DIR}/src/tests/backend/metadata/test_plugin_dirty_info.h"
"${CMAKE_SOURCE_DIR}/src/tests/backend/metadata/test_plugin_metadata.h"
- "${CMAKE_SOURCE_DIR}/src/tests/backend/metadata/test_tag.h")
+ "${CMAKE_SOURCE_DIR}/src/tests/backend/metadata/test_tag.h"
+ "${CMAKE_SOURCE_DIR}/src/tests/backend/plugin/test_plugin.h"
+ "${CMAKE_SOURCE_DIR}/src/tests/backend/plugin/test_plugin_loader.h"
+ "${CMAKE_SOURCE_DIR}/src/tests/backend/test_metadata_list.h"
+ "${CMAKE_SOURCE_DIR}/src/tests/backend/test_masterlist.h"
+ "${CMAKE_SOURCE_DIR}/src/tests/backend/test_plugin_sorter.h")
source_group("Header Files" FILES ${LOOT_HEADERS} ${LOOT_GUI_HEADERS} ${LOOT_API_HEADERS} ${LOOT_TESTS_HEADERS})
diff --git a/src/tests/backend/metadata/test_plugin_metadata.h b/src/tests/backend/metadata/test_plugin_metadata.h
index d9af35e9..a76a7921 100644
--- a/src/tests/backend/metadata/test_plugin_metadata.h
+++ b/src/tests/backend/metadata/test_plugin_metadata.h
@@ -57,6 +57,18 @@ TEST(PluginMetadata, EqualityOperator) {
EXPECT_TRUE(pm2 == pm1);
}
+TEST(PluginMetadata, MergeMetadata) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST(PluginMetadata, DiffMetadata) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST(PluginMetadata, NewMetadata) {
+ FAIL() << "Test is unimplemented";
+}
+
TEST(PluginMetadata, Name) {
PluginMetadata pm;
ASSERT_NE("Blank.esm", pm.Name());
@@ -162,6 +174,14 @@ TEST(PluginMetadata, Locations) {
}), pm.Locations());
}
+TEST(PluginMetadata, EvalAllConditions) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST(PluginMetadata, ParseAllConditions) {
+ FAIL() << "Test is unimplemented";
+}
+
TEST(PluginMetadata, HasNameOnly) {
PluginMetadata pm;
EXPECT_TRUE(pm.HasNameOnly());
@@ -484,4 +504,3 @@ TEST(PluginMetadata, YamlDecode) {
}
#endif
-
diff --git a/src/tests/backend/plugin/test_plugin.h b/src/tests/backend/plugin/test_plugin.h
new file mode 100644
index 00000000..061b4862
--- /dev/null
+++ b/src/tests/backend/plugin/test_plugin.h
@@ -0,0 +1,69 @@
+/* LOOT
+
+A load order optimisation tool for Oblivion, Skyrim, Fallout 3 and
+Fallout: New Vegas.
+
+Copyright (C) 2014-2015 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_BACKEND_PLUGIN
+#define LOOT_TEST_BACKEND_PLUGIN
+
+#include "backend/plugin/plugin.h"
+#include "tests/fixtures.h"
+
+class Plugin : public SkyrimTest {};
+
+TEST_F(Plugin, ConstructorsAndDataAccess) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(Plugin, LoadsBSA) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(Plugin, IsValid) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(Plugin, IsActive) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(Plugin, EqualityOperator) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(Plugin, InequalityOperator) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(Plugin, DoFormIDsOverlap) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(Plugin, OverlapFormIDs) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(Plugin, CheckInstallValidity) {
+ FAIL() << "Test is unimplemented";
+}
+
+#endif
diff --git a/src/tests/backend/plugin/test_plugin_loader.h b/src/tests/backend/plugin/test_plugin_loader.h
new file mode 100644
index 00000000..90e681cc
--- /dev/null
+++ b/src/tests/backend/plugin/test_plugin_loader.h
@@ -0,0 +1,41 @@
+/* LOOT
+
+A load order optimisation tool for Oblivion, Skyrim, Fallout 3 and
+Fallout: New Vegas.
+
+Copyright (C) 2014-2015 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_BACKEND_PLUGIN_LOADER
+#define LOOT_TEST_BACKEND_PLUGIN_LOADER
+
+#include "backend/plugin/plugin_loader.h"
+#include "tests/fixtures.h"
+
+class PluginLoader : public SkyrimTest {};
+
+TEST_F(PluginLoader, Constructor) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(PluginLoader, Load) {
+ FAIL() << "Test is unimplemented";
+}
+
+#endif
diff --git a/src/tests/backend/test_masterlist.h b/src/tests/backend/test_masterlist.h
new file mode 100644
index 00000000..aa773168
--- /dev/null
+++ b/src/tests/backend/test_masterlist.h
@@ -0,0 +1,49 @@
+/* LOOT
+
+A load order optimisation tool for Oblivion, Skyrim, Fallout 3 and
+Fallout: New Vegas.
+
+Copyright (C) 2014-2015 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_BACKEND_MASTERLIST
+#define LOOT_TEST_BACKEND_MASTERLIST
+
+#include "backend/masterlist.h"
+#include "tests/fixtures.h"
+
+class Masterlist : public SkyrimTest {};
+
+TEST_F(Masterlist, Load) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(Masterlist, Update) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(Masterlist, GetRevision) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(Masterlist, GetDate) {
+ FAIL() << "Test is unimplemented";
+}
+
+#endif
diff --git a/src/tests/backend/test_metadata_list.h b/src/tests/backend/test_metadata_list.h
new file mode 100644
index 00000000..e6a31733
--- /dev/null
+++ b/src/tests/backend/test_metadata_list.h
@@ -0,0 +1,69 @@
+/* LOOT
+
+A load order optimisation tool for Oblivion, Skyrim, Fallout 3 and
+Fallout: New Vegas.
+
+Copyright (C) 2014-2015 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_BACKEND_METADATA_LIST
+#define LOOT_TEST_BACKEND_METADATA_LIST
+
+#include "backend/metadata_list.h"
+#include "tests/fixtures.h"
+
+class MetadataList : public SkyrimTest {};
+
+TEST_F(MetadataList, Load) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(MetadataList, Save) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(MetadataList, clear) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(MetadataList, EqualityOperator) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(MetadataList, Plugins) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(MetadataList, FindPlugin) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(MetadataList, AddPlugin) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(MetadataList, ErasePlugin) {
+ FAIL() << "Test is unimplemented";
+}
+
+TEST_F(MetadataList, EvalAllConditions) {
+ FAIL() << "Test is unimplemented";
+}
+
+#endif
diff --git a/src/tests/backend/test_plugin_sorter.h b/src/tests/backend/test_plugin_sorter.h
new file mode 100644
index 00000000..14f0a086
--- /dev/null
+++ b/src/tests/backend/test_plugin_sorter.h
@@ -0,0 +1,37 @@
+/* LOOT
+
+A load order optimisation tool for Oblivion, Skyrim, Fallout 3 and
+Fallout: New Vegas.
+
+Copyright (C) 2014-2015 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_BACKEND_PLUGIN_SORTER
+#define LOOT_TEST_BACKEND_PLUGIN_SORTER
+
+#include "backend/plugin_sorter.h"
+#include "tests/fixtures.h"
+
+class PluginSorter : public SkyrimTest {};
+
+TEST_F(PluginSorter, Sort) {
+ FAIL() << "Test is unimplemented";
+}
+
+#endif
diff --git a/src/tests/main.cpp b/src/tests/main.cpp
index 61107099..6c799708 100644
--- a/src/tests/main.cpp
+++ b/src/tests/main.cpp
@@ -31,6 +31,11 @@
#include "backend/game/test_game.h"
#include "backend/game/test_game_settings.h"
#include "backend/game/test_load_order_handler.h"
+#include "backend/helpers/test_git_helper.h"
+#include "backend/helpers/test_helpers.h"
+#include "backend/helpers/test_language.h"
+#include "backend/helpers/test_version.h"
+#include "backend/helpers/test_yaml_set_helpers.h"
#include "backend/metadata/test_condition_grammar.h"
#include "backend/metadata/test_conditional_metadata.h"
#include "backend/metadata/test_file.h"
@@ -41,11 +46,11 @@
#include "backend/metadata/test_plugin_dirty_info.h"
#include "backend/metadata/test_plugin_metadata.h"
#include "backend/metadata/test_tag.h"
-#include "backend/helpers/test_git_helper.h"
-#include "backend/helpers/test_helpers.h"
-#include "backend/helpers/test_language.h"
-#include "backend/helpers/test_version.h"
-#include "backend/helpers/test_yaml_set_helpers.h"
+#include "backend/plugin/test_plugin.h"
+#include "backend/plugin/test_plugin_loader.h"
+#include "backend/test_metadata_list.h"
+#include "backend/test_masterlist.h"
+#include "backend/test_plugin_sorter.h"
#include