// SPDX-License-Identifier: LGPL-2.1-or-later #include #include #include #include "Gui/QuantitySpinBox.h" // NOLINTBEGIN(readability-magic-numbers) class testQuantitySpinBox: public QObject { Q_OBJECT public: testQuantitySpinBox() { if (App::Application::GetARGC() == 0) { constexpr int argc = 1; std::array argv {"FreeCAD"}; App::Application::Config()["ExeName"] = "FreeCAD"; App::Application::init(argc, argv.data()); } qsb = std::make_unique(); } private Q_SLOTS: void init() {} void cleanup() {} void test_SimpleBaseUnit()// NOLINT { auto result = qsb->valueFromText("1mm"); QCOMPARE(result, Base::Quantity(1, QLatin1String("mm"))); } void test_UnitInNumerator()// NOLINT { auto result = qsb->valueFromText("1mm/10"); QCOMPARE(result, Base::Quantity(0.1, QLatin1String("mm"))); } void test_UnitInDenominator()// NOLINT { auto result = qsb->valueFromText("1/10mm"); QCOMPARE(result, Base::Quantity(0.1, QLatin1String("mm"))); } private: std::unique_ptr qsb; }; // NOLINTEND(readability-magic-numbers) QTEST_MAIN(testQuantitySpinBox) #include "QuantitySpinBox.moc"