diff --git a/SerialPrograms/Source/ComputerPrograms/UnitTestRunner.cpp b/SerialPrograms/Source/ComputerPrograms/UnitTestRunner.cpp index b0a4133822..ea9213b3de 100644 --- a/SerialPrograms/Source/ComputerPrograms/UnitTestRunner.cpp +++ b/SerialPrograms/Source/ComputerPrograms/UnitTestRunner.cpp @@ -12,6 +12,7 @@ #include "CommonFramework/Tools/GlobalThreadPools.h" #include "UnitTestRunner.h" +#include "PokemonHome/PokemonHome_Tests.h" #include "PokemonSwSh/PokemonSwSh_Tests.h" #include "PokemonLA/PokemonLA_Tests.h" #include "PokemonSV/PokemonSV_Tests.h" @@ -29,6 +30,7 @@ UnitTestDatabase make_UNIT_TESTS_ALL(){ UnitTestDatabase ret; OCR::add_tests(ret); + NintendoSwitch::PokemonHome::add_tests(ret); NintendoSwitch::PokemonSwSh::add_tests(ret); NintendoSwitch::PokemonLA::add_tests(ret); NintendoSwitch::PokemonSV::add_tests(ret); diff --git a/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_BoxViewDetector.cpp b/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_BoxViewDetector.cpp new file mode 100644 index 0000000000..7f72d864be --- /dev/null +++ b/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_BoxViewDetector.cpp @@ -0,0 +1,67 @@ +/* Button Detector + * + * From: https://github.com/PokemonAutomation/ + * + */ + +#include +#include "Common/Cpp/Color.h" +#include "CommonFramework/Globals.h" +#include "CommonFramework/ImageTypes/ImageRGB32.h" +#include "CommonFramework/ImageTypes/ImageViewRGB32.h" +#include "CommonFramework/VideoPipeline/VideoOverlay.h" +#include "CommonFramework/VideoPipeline/VideoOverlayScopes.h" +#include "PokemonHome/Inference/PokemonHome_ButtonDetector.h" +#include "PokemonHome_BoxViewDetector.h" +#include "Tests/TestUtils.h" + +namespace PokemonAutomation{ +namespace NintendoSwitch{ +namespace PokemonHome{ + +BoxViewDetector::BoxViewDetector(VideoOverlay* overlay) : m_button_plus_detector(COLOR_BLACK, ButtonType::ButtonPlus, { 0.100, 0.956, 0.107, 0.041 }, overlay){} + +void BoxViewDetector::make_overlays(VideoOverlaySet& items) const{ + m_button_plus_detector.make_overlays(items); +} + +bool BoxViewDetector::detect(const ImageViewRGB32& screen){ + return m_button_plus_detector.detect(screen); +} + + + +class Test_BoxViewDetector : public UnitTest{ +public: + + Test_BoxViewDetector( + const std::string& image, + bool expected + ) + : UnitTest("PokemonHome::BoxViewDetector - " + image) + , m_image(UNIT_TEST_RESOURCE_PATH() + image) + , m_expected(expected) + {} + + virtual UnitTestResult run(Logger& logger, CancellableScope& scope) const override{ + DummyVideoOverlay overlay; + BoxViewDetector detector(&overlay); + ImageRGB32 image(m_image); + return detector.detect(image) == m_expected; + }; + +private: + std::string m_image; + bool m_expected; +}; + +void add_tests_BoxViewDetector(UnitTestDatabase& database){ + database.add("PokemonHome/BoxView/BoxView-1.png", true); + database.add("PokemonHome/SummaryScreen/enamorus_Shiny.png", false); + database.add("PokemonHome/SummaryScreen/machamp_Regular.png", false); + database.add("PokemonHome/SummaryScreen/rowlet_ShinyAlpha.png", false); +} + +} +} +} diff --git a/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_BoxViewDetector.h b/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_BoxViewDetector.h new file mode 100644 index 0000000000..486628bb64 --- /dev/null +++ b/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_BoxViewDetector.h @@ -0,0 +1,45 @@ +/* Box View Detector + * + * From: https://github.com/PokemonAutomation/ + * + */ + +#ifndef PokemonAutomation_PokemonHome_BoxViewDetector_H +#define PokemonAutomation_PokemonHome_BoxViewDetector_H + +#include "Common/Cpp/TestRunners/UnitTestDatabase.h" +#include "CommonFramework/VideoPipeline/VideoOverlayScopes.h" +#include "CommonTools/VisualDetector.h" +#include "PokemonHome/Inference/PokemonHome_ButtonDetector.h" + +namespace PokemonAutomation{ +class Logger; +namespace NintendoSwitch{ +namespace PokemonHome{ + +class BoxViewDetector : public StaticScreenDetector{ +public: + BoxViewDetector(VideoOverlay* overlay = nullptr); + + virtual void make_overlays(VideoOverlaySet& items) const override; + virtual bool detect(const ImageViewRGB32& screen) override; + + virtual void reset_state() override { m_button_plus_detector.reset_state(); } + +private: + ButtonDetector m_button_plus_detector; + +}; +class BoxViewWatcher : public DetectorToFinder{ +public: + BoxViewWatcher(VideoOverlay* overlay = nullptr) + : DetectorToFinder("BoxViewWatcher", Milliseconds(100), overlay) + {} +}; + +void add_tests_BoxViewDetector(UnitTestDatabase& database); + +} +} +} +#endif diff --git a/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_ButtonDetector.cpp b/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_ButtonDetector.cpp index c197c0fc22..a0352b4461 100644 --- a/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_ButtonDetector.cpp +++ b/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_ButtonDetector.cpp @@ -156,34 +156,6 @@ bool ButtonDetector::detect(const ImageViewRGB32& screen){ } -BoxViewDetector::BoxViewDetector(VideoOverlay* overlay) : m_button_plus_detector(COLOR_BLACK, ButtonType::ButtonPlus, {0.100, 0.956, 0.107, 0.041}, overlay){} - -void BoxViewDetector::make_overlays(VideoOverlaySet& items) const{ - m_button_plus_detector.make_overlays(items); -} - -bool BoxViewDetector::detect(const ImageViewRGB32& screen){ - return m_button_plus_detector.detect(screen); -} - - -SummaryScreenDetector::SummaryScreenDetector(VideoOverlay* overlay) : m_button_B_detector(COLOR_BLACK, ButtonType::ButtonB, {0.100, 0.956, 0.107, 0.041}, overlay){} - -void SummaryScreenDetector::make_overlays(VideoOverlaySet& items) const{ - m_button_B_detector.make_overlays(items); -} - -bool SummaryScreenDetector::detect(const ImageViewRGB32& screen){ - return m_button_B_detector.detect(screen); -} - - - - - - - - } } } diff --git a/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_ButtonDetector.h b/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_ButtonDetector.h index 27cc5eb462..ec13932079 100644 --- a/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_ButtonDetector.h +++ b/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_ButtonDetector.h @@ -64,49 +64,6 @@ class ButtonWatcher : public DetectorToFinder{ }; -class BoxViewDetector : public StaticScreenDetector{ -public: - BoxViewDetector(VideoOverlay* overlay = nullptr); - - virtual void make_overlays(VideoOverlaySet& items) const override; - virtual bool detect(const ImageViewRGB32& screen) override; - - virtual void reset_state() override { m_button_plus_detector.reset_state(); } - -private: - ButtonDetector m_button_plus_detector; - -}; -class BoxViewWatcher : public DetectorToFinder{ -public: - BoxViewWatcher(VideoOverlay* overlay = nullptr) - : DetectorToFinder("BoxViewWatcher", Milliseconds(100), overlay) - {} -}; - - -class SummaryScreenDetector : public StaticScreenDetector{ -public: - SummaryScreenDetector(VideoOverlay* overlay = nullptr); - - virtual void make_overlays(VideoOverlaySet& items) const override; - virtual bool detect(const ImageViewRGB32& screen) override; - - virtual void reset_state() override { m_button_B_detector.reset_state(); } - -private: - ButtonDetector m_button_B_detector; - -}; -class SummaryScreenWatcher : public DetectorToFinder{ -public: - SummaryScreenWatcher(VideoOverlay* overlay = nullptr) - : DetectorToFinder("SummaryScreenWatcher", Milliseconds(100), overlay) - {} -}; - - - } } } diff --git a/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_SummaryScreenDetector.cpp b/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_SummaryScreenDetector.cpp new file mode 100644 index 0000000000..64b199d82a --- /dev/null +++ b/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_SummaryScreenDetector.cpp @@ -0,0 +1,64 @@ +/* Button Detector + * + * From: https://github.com/PokemonAutomation/ + * + */ + +#include +#include "CommonFramework/Globals.h" +#include "CommonFramework/VideoPipeline/VideoOverlayScopes.h" +#include "PokemonHome/Inference/PokemonHome_ButtonDetector.h" +#include "PokemonHome_SummaryScreenDetector.h" +#include "Tests/TestUtils.h" + +namespace PokemonAutomation{ +namespace NintendoSwitch{ +namespace PokemonHome{ + + +SummaryScreenDetector::SummaryScreenDetector(VideoOverlay* overlay) + : m_button_B_detector(COLOR_BLACK, ButtonType::ButtonB, { 0.100, 0.956, 0.107, 0.041 }, overlay){} + +void SummaryScreenDetector::make_overlays(VideoOverlaySet& items) const{ + m_button_B_detector.make_overlays(items); +} + +bool SummaryScreenDetector::detect(const ImageViewRGB32& screen){ + return m_button_B_detector.detect(screen); +} + + +class Test_SummaryScreenDetector : public UnitTest{ +public: + + Test_SummaryScreenDetector( + const std::string& image, + bool expected + ) + : UnitTest("PokemonHome::SummaryScreenDetector - " + image) + , m_image(UNIT_TEST_RESOURCE_PATH() + image) + , m_expected(expected) + {} + + virtual UnitTestResult run(Logger& logger, CancellableScope& scope) const override{ + DummyVideoOverlay overlay; + SummaryScreenDetector detector(&overlay); + ImageRGB32 image(m_image); + return detector.detect(image) == m_expected; + }; + +private: + std::string m_image; + bool m_expected; +}; + +void add_tests_SummaryScreenDetector(UnitTestDatabase& database){ + database.add("PokemonHome/BoxView/BoxView-1.png", false); + database.add("PokemonHome/SummaryScreen/enamorus_Shiny.png", true); + database.add("PokemonHome/SummaryScreen/machamp_Regular.png", true); + database.add("PokemonHome/SummaryScreen/rowlet_ShinyAlpha.png", true); +} + +} +} +} diff --git a/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_SummaryScreenDetector.h b/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_SummaryScreenDetector.h new file mode 100644 index 0000000000..7952f61ba8 --- /dev/null +++ b/SerialPrograms/Source/PokemonHome/Inference/PokemonHome_SummaryScreenDetector.h @@ -0,0 +1,45 @@ +/* Summary Screen Detector + * + * From: https://github.com/PokemonAutomation/ + * + */ + +#ifndef PokemonAutomation_PokemonHome_SummaryScreenDetector_H +#define PokemonAutomation_PokemonHome_SummaryScreenDetector_H + +#include "Common/Cpp/TestRunners/UnitTestDatabase.h" +#include "CommonFramework/VideoPipeline/VideoOverlayScopes.h" +#include "CommonTools/VisualDetector.h" +#include "PokemonHome/Inference/PokemonHome_ButtonDetector.h" + +namespace PokemonAutomation{ +class Logger; +namespace NintendoSwitch{ +namespace PokemonHome{ + +class SummaryScreenDetector : public StaticScreenDetector{ +public: + SummaryScreenDetector(VideoOverlay* overlay = nullptr); + + virtual void make_overlays(VideoOverlaySet& items) const override; + virtual bool detect(const ImageViewRGB32& screen) override; + + virtual void reset_state() override { m_button_B_detector.reset_state(); } + +private: + ButtonDetector m_button_B_detector; + +}; +class SummaryScreenWatcher : public DetectorToFinder{ +public: + SummaryScreenWatcher(VideoOverlay* overlay = nullptr) + : DetectorToFinder("SummaryScreenWatcher", Milliseconds(100), overlay) + {} +}; + +void add_tests_SummaryScreenDetector(UnitTestDatabase& database); + +} +} +} +#endif \ No newline at end of file diff --git a/SerialPrograms/Source/PokemonHome/PokemonHome_Tests.cpp b/SerialPrograms/Source/PokemonHome/PokemonHome_Tests.cpp new file mode 100644 index 0000000000..38a49302e7 --- /dev/null +++ b/SerialPrograms/Source/PokemonHome/PokemonHome_Tests.cpp @@ -0,0 +1,25 @@ +/* Pokemon Home Tests + * + * From: https://github.com/PokemonAutomation/ + * + */ + +#include "Common/Cpp/TestRunners/UnitTestDatabase.h" +#include "Inference/PokemonHome_BoxViewDetector.h" +#include "Inference/PokemonHome_SummaryScreenDetector.h" +#include "PokemonHome_Tests.h" + +namespace PokemonAutomation{ +namespace NintendoSwitch{ +namespace PokemonHome{ + + +void add_tests(UnitTestDatabase& database){ + add_tests_BoxViewDetector(database); + add_tests_SummaryScreenDetector(database); +} + + +} +} +} \ No newline at end of file diff --git a/SerialPrograms/Source/PokemonHome/PokemonHome_Tests.h b/SerialPrograms/Source/PokemonHome/PokemonHome_Tests.h new file mode 100644 index 0000000000..83905ae9a2 --- /dev/null +++ b/SerialPrograms/Source/PokemonHome/PokemonHome_Tests.h @@ -0,0 +1,25 @@ +/* Pokemon Home Tests + * + * From: https://github.com/PokemonAutomation/ + * + */ + +#ifndef PokemonAutomation_PokemonHome_Tests_H +#define PokemonAutomation_PokemonHome_Tests_H + +#include "Common/Cpp/TestRunners/UnitTestDatabase.h" + +namespace PokemonAutomation{ +namespace NintendoSwitch{ +namespace PokemonHome{ + + + +void add_tests(UnitTestDatabase& database); + + + +} +} +} +#endif \ No newline at end of file diff --git a/SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxSorter.cpp b/SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxSorter.cpp index d9a8d7151b..aef6e56998 100644 --- a/SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxSorter.cpp +++ b/SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxSorter.cpp @@ -33,13 +33,16 @@ language #include "CommonFramework/ImageTools/ImageStats.h" #include "CommonFramework/Notifications/ProgramNotifications.h" #include "CommonFramework/ProgramStats/StatsTracking.h" +#include "CommonFramework/VideoPipeline/VideoOverlay.h" +#include "CommonFramework/VideoPipeline/VideoOverlayScopes.h" #include "CommonTools/Async/InferenceRoutines.h" #include "CommonTools/StartupChecks/StartProgramChecks.h" #include "NintendoSwitch/Commands/NintendoSwitch_Commands_PushButtons.h" #include "Pokemon/Pokemon_Strings.h" #include "Pokemon/Pokemon_BoxCursor.h" #include "Pokemon/Pokemon_CollectedPokemonInfo.h" -#include "PokemonHome/Inference/PokemonHome_ButtonDetector.h" +#include "PokemonHome/Inference/PokemonHome_BoxViewDetector.h" +#include "PokemonHome/Inference/PokemonHome_SummaryScreenDetector.h" #include "PokemonHome_BoxNavigation.h" #include "PokemonHome_BoxSorter.h" diff --git a/SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxSorterLivingDex.cpp b/SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxSorterLivingDex.cpp index 142d4a41b2..e03e7476fe 100644 --- a/SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxSorterLivingDex.cpp +++ b/SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxSorterLivingDex.cpp @@ -19,16 +19,18 @@ #include "CommonFramework/ImageTools/ImageStats.h" #include "CommonFramework/Notifications/ProgramNotifications.h" #include "CommonFramework/ProgramStats/StatsTracking.h" +#include "CommonFramework/VideoPipeline/VideoOverlay.h" +#include "CommonFramework/VideoPipeline/VideoOverlayScopes.h" #include "CommonTools/Async/InferenceRoutines.h" #include "CommonTools/StartupChecks/StartProgramChecks.h" #include "CommonTools/OCR/OCR_StringNormalization.h" -#include "CommonFramework/VideoPipeline/VideoFeed.h" #include "NintendoSwitch/Commands/NintendoSwitch_Commands_PushButtons.h" #include "Pokemon/Inference/Pokemon_TypeReader.h" #include "Pokemon/Pokemon_Strings.h" #include "Pokemon/Pokemon_BoxCursor.h" #include "Pokemon/Pokemon_CollectedPokemonInfo.h" -#include "PokemonHome/Inference/PokemonHome_ButtonDetector.h" +#include "PokemonHome/Inference/PokemonHome_BoxViewDetector.h" +#include "PokemonHome/Inference/PokemonHome_SummaryScreenDetector.h" #include "PokemonHome_BoxNavigation.h" #include "PokemonHome_BoxSorterLivingDex.h" diff --git a/SerialPrograms/Source/Tests/PokemonHome_Tests.cpp b/SerialPrograms/Source/Tests/PokemonHome_Tests.cpp deleted file mode 100644 index 59e8f62c4a..0000000000 --- a/SerialPrograms/Source/Tests/PokemonHome_Tests.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* PokemonHome Tests - * - * From: https://github.com/PokemonAutomation/ - * - */ - - -#include "PokemonHome/Inference/PokemonHome_ButtonDetector.h" -#include "PokemonHome_Tests.h" -#include "TestUtils.h" - -#include -using std::cout; -using std::cerr; -using std::endl; - -namespace PokemonAutomation{ - -using namespace NintendoSwitch; -using namespace NintendoSwitch::PokemonHome; - -int test_pokemonHome_BoxView(const ImageViewRGB32& image, const std::vector& keywords){ - SummaryScreenDetector summary_screen_detector; - bool result = summary_screen_detector.detect(image); - TEST_RESULT_EQUAL(result, false); - - BoxViewDetector box_view_detector; - result = box_view_detector.detect(image); - TEST_RESULT_EQUAL(result, true); - return 0; -} - -int test_pokemonHome_SummaryScreen(const ImageViewRGB32& image, const std::vector& keywords){ - SummaryScreenDetector summary_screen_detector; - bool result = summary_screen_detector.detect(image); - TEST_RESULT_EQUAL(result, true); - - BoxViewDetector box_view_detector; - result = box_view_detector.detect(image); - TEST_RESULT_EQUAL(result, false); - return 0; -} - -} diff --git a/SerialPrograms/Source/Tests/PokemonHome_Tests.h b/SerialPrograms/Source/Tests/PokemonHome_Tests.h deleted file mode 100644 index 156f743e94..0000000000 --- a/SerialPrograms/Source/Tests/PokemonHome_Tests.h +++ /dev/null @@ -1,26 +0,0 @@ -/* PokemonHome Tests - * - * From: https://github.com/PokemonAutomation/ - * - * - */ - - -#ifndef PokemonAutomation_Tests_PokemonHome_Tests_H -#define PokemonAutomation_Tests_PokemonHome_Tests_H - -#include -#include - -namespace PokemonAutomation{ - -class ImageViewRGB32; - - -int test_pokemonHome_BoxView(const ImageViewRGB32& image, const std::vector& keywords); - -int test_pokemonHome_SummaryScreen(const ImageViewRGB32& image, const std::vector& keywords); - -} - -#endif diff --git a/SerialPrograms/Source/Tests/TestMap.cpp b/SerialPrograms/Source/Tests/TestMap.cpp index 208941f9b1..331ed0a903 100644 --- a/SerialPrograms/Source/Tests/TestMap.cpp +++ b/SerialPrograms/Source/Tests/TestMap.cpp @@ -10,7 +10,6 @@ #include "Kernels_Tests.h" #include "NintendoSwitch_Tests.h" #include "PokemonFRLG_Tests.h" -#include "PokemonHome_Tests.h" #include "PokemonLZA_Tests.h" #include "PokemonSV_Tests_Old.h" #include "TestMap.h" @@ -232,8 +231,6 @@ const std::map TEST_MAP = { {"NintendoSwitch_CheckOnlineDetector", std::bind(image_bool_detector_helper, test_NintendoSwitch_CheckOnlineDetector, _1)}, {"NintendoSwitch_FailedToConnectDetector", std::bind(image_bool_detector_helper, test_NintendoSwitch_FailedToConnectDetector, _1)}, {"NintendoSwitch_UpdatePopupDetector", std::bind(image_bool_detector_helper, test_NintendoSwitch_UpdatePopupDetector, _1)}, - {"PokemonHome_BoxView", std::bind(image_words_detector_helper, test_pokemonHome_BoxView, _1)}, - {"PokemonHome_SummaryScreen", std::bind(image_words_detector_helper, test_pokemonHome_SummaryScreen, _1)}, {"PokemonSV_TeraTypeReader", std::bind(image_words_detector_helper, test_pokemonSV_TeraTypeReader, _1)}, {"PokemonSV_SandwichRecipeDetector", std::bind(image_words_detector_helper, test_pokemonSV_SandwichRecipeDetector, _1)}, {"PokemonSV_SandwichHandDetector", std::bind(image_words_detector_helper, test_pokemonSV_SandwichHandDetector, _1)}, diff --git a/SerialPrograms/cmake/SourceFiles.cmake b/SerialPrograms/cmake/SourceFiles.cmake index 7f905c6b4b..d6f441ee5a 100644 --- a/SerialPrograms/cmake/SourceFiles.cmake +++ b/SerialPrograms/cmake/SourceFiles.cmake @@ -1631,6 +1631,8 @@ file(GLOB LIBRARY_SOURCES Source/PokemonHome/Inference/PokemonHome_BallReader.h Source/PokemonHome/Inference/PokemonHome_BoxGenderDetector.cpp Source/PokemonHome/Inference/PokemonHome_BoxGenderDetector.h + Source/PokemonHome/Inference/PokemonHome_BoxViewDetector.cpp + Source/PokemonHome/Inference/PokemonHome_BoxViewDetector.h Source/PokemonHome/Inference/PokemonHome_ButtonDetector.cpp Source/PokemonHome/Inference/PokemonHome_ButtonDetector.h Source/PokemonHome/Inference/PokemonHome_GigantamaxDetector.cpp @@ -1639,12 +1641,16 @@ file(GLOB LIBRARY_SOURCES Source/PokemonHome/Inference/PokemonHome_OriginMarkReader.h Source/PokemonHome/Inference/PokemonHome_SelectionArrowDetector.cpp Source/PokemonHome/Inference/PokemonHome_SelectionArrowDetector.h + Source/PokemonHome/Inference/PokemonHome_SummaryScreenDetector.cpp + Source/PokemonHome/Inference/PokemonHome_SummaryScreenDetector.h Source/PokemonHome/Inference/PokemonHome_TeraTypeReader.cpp Source/PokemonHome/Inference/PokemonHome_TeraTypeReader.h Source/PokemonHome/PokemonHome_Panels.cpp Source/PokemonHome/PokemonHome_Panels.h Source/PokemonHome/PokemonHome_Settings.cpp Source/PokemonHome/PokemonHome_Settings.h + Source/PokemonHome/PokemonHome_Tests.cpp + Source/PokemonHome/PokemonHome_Tests.h Source/PokemonHome/Programs/PokemonHome_BoxNavigation.cpp Source/PokemonHome/Programs/PokemonHome_BoxNavigation.h Source/PokemonHome/Programs/PokemonHome_BoxSorter.cpp @@ -2906,8 +2912,6 @@ file(GLOB LIBRARY_SOURCES Source/Tests/NintendoSwitch_Tests.h Source/Tests/PokemonFRLG_Tests.cpp Source/Tests/PokemonFRLG_Tests.h - Source/Tests/PokemonHome_Tests.cpp - Source/Tests/PokemonHome_Tests.h Source/Tests/PokemonLZA_Tests.cpp Source/Tests/PokemonLZA_Tests.h Source/Tests/PokemonSV_Tests_Old.cpp