#include "guitestmanager.h"

#include <QDebug>

GUITestManager::GUITestManager() { }

GUITestManager *GUITestManager::instance()
{
    if (!instance_) {
        instance_ = new GUITestManager();
    }
    return instance_;
}

void GUITestManager::registerTest(GUITest *test) { tests_ += test; }

bool GUITestManager::runTest(const QString &name)
{
    foreach (GUITest *test, tests_) {
        if (test->name() == name) {
            return test->run();
        }
    }
    qWarning() << "Test not found: " << name;
    return false;
}

QStringList GUITestManager::getTestNames() const
{
    QStringList test_names;
    foreach (GUITest *test, tests_) {
        test_names += test->name();
    }
    return test_names;
}

GUITestManager *GUITestManager::instance_ = NULL;
