1 /* 2 KStars UI tests for meridian flip - special cases 3 4 SPDX-FileCopyrightText: 2020, 2021 Wolfgang Reissenberger <sterne-jaeger@openfuture.de> 5 6 SPDX-License-Identifier: GPL-2.0-or-later 7 */ 8 9 #pragma once 10 11 #include "test_ekos_meridianflip_base.h" 12 13 #if defined(HAVE_INDI) 14 15 class TestEkosMeridianFlipSpecials : public TestEkosMeridianFlipBase 16 { 17 Q_OBJECT 18 19 public: 20 explicit TestEkosMeridianFlipSpecials(QObject *parent = nullptr); 21 explicit TestEkosMeridianFlipSpecials(QString guider, QObject *parent = nullptr); 22 23 private slots: 24 25 /** @brief Test a meridian flip where a guiding deviation aborts a capture and subsequently a flip 26 * is executed. It is expected that capturing is restarted after the flip has been executed successfully. 27 * */ 28 void testCaptureGuidingDeviationMF(); 29 30 /** @brief Test data for @see testSchedulerGuidingDeviationMF() */ 31 void testCaptureGuidingDeviationMF_data(); 32 33 34 /** @brief Test a meridian flip where the dithering counter after the last capture before the flip is already 0. 35 * Since dithering after the meridian flip is postponed, this checks whether after dithering takes place after 36 * the first capture after the meridian flip. 37 * */ 38 void testCaptureDitheringDelayedAfterMF(); 39 40 /** @brief Test data for @see testCaptureDitheringDelayedAfterMF() */ 41 void testCaptureDitheringDelayedAfterMF_data(); 42 43 /** @brief Test pausing a capture sequence before the meridian flip takes place. 44 * When capturing is paused, the meridian flip should take place but then nothing more should happen unless 45 * the pause is finished. As soon as capture continues, all necessary preparations should take place before capturing 46 * starts again. 47 * */ 48 void testCaptureAlignGuidingPausedMF(); 49 50 /** @brief Test data for @see testCaptureAlignGuidingPausedMF() */ 51 void testCaptureAlignGuidingPausedMF_data(); 52 53 /** @brief Test if a meridian flip takes place while re-focusing and consequently 54 * leads to abort the refocusing and refocusing is restarted after a successful meridian flip */ 55 void testAbortRefocusMF(); 56 57 /** @brief Test data for @see testCaptureRefocusMF() */ 58 void testAbortRefocusMF_data(); 59 60 /** @brief Test if a meridian flip within a scheduler job takes place while re-focusing and consequently 61 * leads to abort the refocusing and the scheduler recovers afterwards */ 62 void testAbortSchedulerRefocusMF(); 63 64 /** @brief Test data for @see testAbortSchedulerRefocusMF() */ 65 void testAbortSchedulerRefocusMF_data(); 66 67 /** @brief Test the situation where the mount does not change its pier side and the meridian flip is 68 * repeated after 4 minutes. 69 * */ 70 void testSimpleRepeatedMF(); 71 72 /** @brief Test data for @see testSimpleRepeatedMF() */ 73 void testSimpleRepeatedMF_data(); 74 }; 75 76 #endif // HAVE_INDI 77