Changeset View
Changeset View
Standalone View
Standalone View
Tests/kstars_ui/test_ekos_simulator.cpp
Show All 24 Lines | |||||
25 | 25 | | |||
26 | void TestEkosSimulator::initTestCase() | 26 | void TestEkosSimulator::initTestCase() | ||
27 | { | 27 | { | ||
28 | KVERIFY_EKOS_IS_HIDDEN(); | 28 | KVERIFY_EKOS_IS_HIDDEN(); | ||
29 | KTRY_OPEN_EKOS(); | 29 | KTRY_OPEN_EKOS(); | ||
30 | KVERIFY_EKOS_IS_OPENED(); | 30 | KVERIFY_EKOS_IS_OPENED(); | ||
31 | KTRY_EKOS_START_SIMULATORS(); | 31 | KTRY_EKOS_START_SIMULATORS(); | ||
32 | 32 | | |||
33 | // HACK: Reset clock to initial conditions | ||||
34 | KStars::Instance()->data()->clock()->setUTC(KStarsDateTime(KStarsUiTests::m_InitialConditions.dateTime)); | ||||
33 | } | 35 | } | ||
34 | 36 | | |||
35 | void TestEkosSimulator::cleanupTestCase() | 37 | void TestEkosSimulator::cleanupTestCase() | ||
36 | { | 38 | { | ||
37 | KTRY_EKOS_STOP_SIMULATORS(); | 39 | KTRY_EKOS_STOP_SIMULATORS(); | ||
38 | KTRY_CLOSE_EKOS(); | 40 | KTRY_CLOSE_EKOS(); | ||
39 | KVERIFY_EKOS_IS_HIDDEN(); | 41 | KVERIFY_EKOS_IS_HIDDEN(); | ||
40 | } | 42 | } | ||
Show All 20 Lines | 59 | #else | |||
61 | 63 | | |||
62 | // Altitude computation taken from SchedulerJob::findAltitude | 64 | // Altitude computation taken from SchedulerJob::findAltitude | ||
63 | GeoLocation * const geo = KStarsData::Instance()->geo(); | 65 | GeoLocation * const geo = KStarsData::Instance()->geo(); | ||
64 | KStarsDateTime const now(KStarsData::Instance()->lt()); | 66 | KStarsDateTime const now(KStarsData::Instance()->lt()); | ||
65 | KSNumbers const numbers(now.djd()); | 67 | KSNumbers const numbers(now.djd()); | ||
66 | CachingDms const LST = geo->GSTtoLST(geo->LTtoUT(now).gst()); | 68 | CachingDms const LST = geo->GSTtoLST(geo->LTtoUT(now).gst()); | ||
67 | 69 | | |||
68 | // Build a list of Messier objects, 5 degree over the horizon | 70 | // Build a list of Messier objects, 5 degree over the horizon | ||
69 | for (int i = 1; i < 103; i++) | 71 | for (int i = 1; i < 103; i += 20) | ||
70 | { | 72 | { | ||
71 | QString name = QString("M %1").arg(i); | 73 | QString name = QString("M %1").arg(i); | ||
72 | SkyObject const * const so = KStars::Instance()->data()->objectNamed(name); | 74 | SkyObject const * const so = KStars::Instance()->data()->objectNamed(name); | ||
73 | if (so != nullptr) | 75 | if (so != nullptr) | ||
74 | { | 76 | { | ||
75 | SkyObject o(*so); | 77 | SkyObject o(*so); | ||
76 | o.updateCoordsNow(&numbers); | 78 | o.updateCoordsNow(&numbers); | ||
77 | o.EquatorialToHorizontal(&LST, geo->lat()); | 79 | o.EquatorialToHorizontal(&LST, geo->lat()); | ||
78 | if (5.0 < so->alt().Degrees()) | 80 | if (5.0 < o.alt().Degrees()) | ||
79 | QTest::addRow("%s", name.toStdString().c_str()) | 81 | QTest::addRow("%s", name.toStdString().c_str()) | ||
80 | << name | 82 | << name | ||
81 | << so->ra().toHMSString() | 83 | << o.ra().toHMSString() | ||
82 | << so->dec().toDMSString(); | 84 | << o.dec().toDMSString(); | ||
83 | } | 85 | } | ||
84 | } | 86 | } | ||
85 | #endif | 87 | #endif | ||
86 | } | 88 | } | ||
87 | 89 | | |||
88 | void TestEkosSimulator::testMountSlew() | 90 | void TestEkosSimulator::testMountSlew() | ||
89 | { | 91 | { | ||
90 | #if QT_VERSION < 0x050900 | 92 | #if QT_VERSION < 0x050900 | ||
▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Line(s) | 140 | #endif | |||
141 | auto clampRA = [](QString v) { return CachingDms(v, false).arcsec(); }; | 143 | auto clampRA = [](QString v) { return CachingDms(v, false).arcsec(); }; | ||
142 | auto clampDE = [](QString v) { return CachingDms(v, true).arcsec(); }; | 144 | auto clampDE = [](QString v) { return CachingDms(v, true).arcsec(); }; | ||
143 | 145 | | |||
144 | QLineEdit * raOut = ekos->findChild<QLineEdit*>("raOUT"); | 146 | QLineEdit * raOut = ekos->findChild<QLineEdit*>("raOUT"); | ||
145 | QVERIFY(raOut != nullptr); | 147 | QVERIFY(raOut != nullptr); | ||
146 | QTRY_VERIFY_WITH_TIMEOUT(abs(clampRA(RA) - clampRA(raOut->text())) < 2, 15000); | 148 | QTRY_VERIFY_WITH_TIMEOUT(abs(clampRA(RA) - clampRA(raOut->text())) < 2, 15000); | ||
147 | QTest::qWait(100); | 149 | QTest::qWait(100); | ||
148 | if (clampRA(RA) != clampRA(raOut->text())) | 150 | if (clampRA(RA) != clampRA(raOut->text())) | ||
149 | QWARN(QString("Target '%1' slewed to with offset RA %2").arg(NAME).arg(RA).toStdString().c_str()); | 151 | QWARN(QString("Target '%1' slewed to with offset RA %2").arg(NAME).arg(abs(clampRA(RA) - clampRA(raOut->text()))).toStdString().c_str()); | ||
150 | 152 | | |||
151 | QLineEdit * deOut = Ekos::Manager::Instance()->findChild<QLineEdit*>("decOUT"); | 153 | QLineEdit * deOut = Ekos::Manager::Instance()->findChild<QLineEdit*>("decOUT"); | ||
152 | QVERIFY(deOut != nullptr); | 154 | QVERIFY(deOut != nullptr); | ||
153 | QTRY_VERIFY_WITH_TIMEOUT(abs(clampDE(DEC) - clampDE(deOut->text())) < 2, 15000); | 155 | QTRY_VERIFY_WITH_TIMEOUT(abs(clampDE(DEC) - clampDE(deOut->text())) < 2, 15000); | ||
154 | QTest::qWait(100); | 156 | QTest::qWait(100); | ||
155 | if (clampRA(DEC) != clampRA(deOut->text())) | 157 | if (clampDE(DEC) != clampDE(deOut->text())) | ||
156 | QWARN(QString("Target '%1' slewed to with coordinate offset DEC %2").arg(NAME).arg(DEC).toStdString().c_str()); | 158 | QWARN(QString("Target '%1' slewed to with coordinate offset DEC %2").arg(NAME).arg(abs(clampDE(DEC) - clampDE(deOut->text()))).toStdString().c_str()); | ||
157 | 159 | | |||
158 | QVERIFY(Ekos::Manager::Instance()->mountModule()->abort()); | 160 | QVERIFY(Ekos::Manager::Instance()->mountModule()->abort()); | ||
159 | #endif | 161 | #endif | ||
160 | } | 162 | } | ||
161 | 163 | | |||
162 | 164 | | |||
163 | #endif | 165 | #endif |