diff --git a/tests/blackmisc/testblackmiscmain.cpp b/tests/blackmisc/testblackmiscmain.cpp index 143f47230..d509faff3 100644 --- a/tests/blackmisc/testblackmiscmain.cpp +++ b/tests/blackmisc/testblackmiscmain.cpp @@ -14,7 +14,10 @@ #include "testaviation.h" #include "testblackmiscmain.h" #include "testcontainers.h" +#include "testdbus.h" +#include "testflightplan.h" #include "testgeo.h" +#include "testicon.h" #include "testidentifier.h" #include "testinput.h" #include "testinterpolator.h" @@ -28,8 +31,6 @@ #include "testvaluecache.h" #include "testvariantandmap.h" #include "testweather.h" -#include "testdbus.h" -#include "testflightplan.h" #include "blackmisc/test/test.h" #include @@ -117,6 +118,10 @@ namespace BlackMiscTest CTestDBus testDBus; status |= test.exec(&testDBus, "blackmisc_dbus"); } + { + CTestIcon testIcon; + status |= test.exec(&testIcon, "blackmisc_icon"); + } return status; } } // namespace diff --git a/tests/blackmisc/testicon.cpp b/tests/blackmisc/testicon.cpp new file mode 100644 index 000000000..f1e17cf28 --- /dev/null +++ b/tests/blackmisc/testicon.cpp @@ -0,0 +1,47 @@ +/* Copyright (C) 2017 + * swift Project Community / Contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +//! \cond PRIVATE_TESTS + +/*! + * \file + * \ingroup testblackmisc + */ + +#include "testicon.h" +#include "blackmisc/iconlist.h" +#include +#include + +using namespace BlackMisc; + +namespace BlackMiscTest +{ + void CTestIcon::iconIndex() + { + const int max = static_cast(CIcons::IconIsGenerated); + QVERIFY2(CIconList::allIcons().size() == max, "Icon list size"); + + int c = 0; + for (const CIcon &icon : CIconList::allIcons()) + { + CIcons::IconIndex ii = icon.getIndex(); + const int i = static_cast(ii); + if (i != c) + { + static const QString verifyMsg("Wrong index %1/%2 for icon %3"); + qDebug() << verifyMsg.arg(i).arg(c).arg(icon.getDescriptiveText()); + QVERIFY2(i == c, "Wrong icon index"); + } + c++; + } + } +} //namespace + +//! \endcond diff --git a/tests/blackmisc/testicon.h b/tests/blackmisc/testicon.h new file mode 100644 index 000000000..f29634d3a --- /dev/null +++ b/tests/blackmisc/testicon.h @@ -0,0 +1,41 @@ +/* Copyright (C) 2017 + * swift project community / contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#ifndef BLACKMISCTEST_TESTICON_H +#define BLACKMISCTEST_TESTICON_H + +//! \cond PRIVATE_TESTS + +/*! + * \file + * \ingroup testblackmisc + */ + +#include + +namespace BlackMiscTest +{ + //! Testing icons + class CTestIcon : public QObject + { + Q_OBJECT + + public: + //! Constructor + explicit CTestIcon(QObject *parent = nullptr) : QObject(parent) {} + + private slots: + //! Icon order/index + void iconIndex(); + }; +} // namespace + +//! \endcond + +#endif // guard