1 /***************************************************************************
2 tst_mainqsoentrywidget.h - description
3 -------------------
4 begin : Jan 2021
5 copyright : (C) 2021 by Jaime Robles
6 email : jaime@robles.es
7 ***************************************************************************/
8
9 /*****************************************************************************
10 * This file is part of Testing suite of KLog. *
11 * *
12 * KLog is free software: you can redistribute it and/or modify *
13 * it under the terms of the GNU General Public License as published by *
14 * the Free Software Foundation, either version 3 of the License, or *
15 * (at your option) any later version. *
16 * *
17 * The testing suite of KLog is distributed in the hope that it will *
18 * be useful, but WITHOUT ANY WARRANTY; without even the implied *
19 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
20 * See the GNU General Public License for more details. *
21 * *
22 * You should have received a copy of the GNU General Public License *
23 * along with Testing suite of KLog. *
24 * If not, see <https://www.gnu.org/licenses/>. *
25 * *
26 *****************************************************************************/
27
28 #include <QtTest>
29 #include "../../src/inputwidgets/mainwindowinputqso.h"
30 #include "../../src/dataproxy_sqlite.h"
31 #include "../../src/utilities.h"
32 #include "../../src/locator.h"
33 #include "../../src/qso.h"
34
35 class tst_MainWindowInputQSO : public QObject
36 {
37 Q_OBJECT
38
39 public:
40 tst_MainWindowInputQSO();
41 ~tst_MainWindowInputQSO();
42
43 private slots:
44 void initTestCase();
45 void cleanupTestCase();
46 void test_Constructor();
47 void test_WriteRead();
48 void test_RST2Modes();
49 void test_Cleaners();
50
51 /*
52
53 void setPropModeFromSat(const QString &_p);
54
55 void setModifying(const bool _m);
56
57 */
58
59 private:
60 DataProxy_SQLite *dataProxy;
61 Utilities *util;
62 MainWindowInputQSO *mainWindowInputQSO;
63
64 };
65
tst_MainWindowInputQSO()66 tst_MainWindowInputQSO::tst_MainWindowInputQSO()
67 {
68 dataProxy = new DataProxy_SQLite(Q_FUNC_INFO);
69 mainWindowInputQSO = new MainWindowInputQSO(dataProxy);
70 util = new Utilities;
71 }
72
~tst_MainWindowInputQSO()73 tst_MainWindowInputQSO::~tst_MainWindowInputQSO()
74 {
75
76 }
77
initTestCase()78 void tst_MainWindowInputQSO::initTestCase()
79 {
80
81 }
82
cleanupTestCase()83 void tst_MainWindowInputQSO::cleanupTestCase()
84 {
85
86 }
87
test_Constructor()88 void tst_MainWindowInputQSO::test_Constructor()
89 {
90 QVERIFY2(mainWindowInputQSO->getTXFreq () == 0.0, "Wrong TX Freq");
91 QVERIFY2(mainWindowInputQSO->getRXFreq () == 0.0, "Wrong RX Freq");
92 }
93
test_WriteRead()94 void tst_MainWindowInputQSO::test_WriteRead()
95 {
96 /*
97
98 void setPropModeFromSat(const QString &_p);
99 */
100 mainWindowInputQSO->setRXPwr(1.1);
101 QVERIFY2( util->isSameFreq (mainWindowInputQSO->getRXPwr(), 1.1), "Wrong RX Pwr");
102 mainWindowInputQSO->setDXLocator("IN80");
103 QVERIFY2(mainWindowInputQSO->getDXLocator() == "IN80", "Wrong locator");
104 mainWindowInputQSO->setName("Jon Doe");
105 QVERIFY2(mainWindowInputQSO->getName() == "Jon Doe", "Wrong name");
106 mainWindowInputQSO->setQTH("Neverland");
107 QVERIFY2(mainWindowInputQSO->getQTH() == "Neverland", "Wrong QTH");
108 mainWindowInputQSO->setTXFreq (14.1);
109 QVERIFY2( util->isSameFreq (mainWindowInputQSO->getTXFreq (), 14.1), "Wrong TX Freq");
110 mainWindowInputQSO->setRXFreq (14.1);
111 QVERIFY2( util->isSameFreq (mainWindowInputQSO->getRXFreq (), 14.1), "Wrong RX Freq");
112
113 }
114
test_RST2Modes()115 void tst_MainWindowInputQSO::test_RST2Modes ()
116 {
117 //void MainWindowInputQSO::setRSTToMode(const QString &_m, const bool _reading)
118
119 mainWindowInputQSO->setRSTTX("56");
120 QVERIFY2(mainWindowInputQSO->getRSTTX ()== "56", "Wrong RST TX");
121 mainWindowInputQSO->setRSTRX("43");
122 QVERIFY2(mainWindowInputQSO->getRSTRX ()== "43", "Wrong RST RX");
123
124 mainWindowInputQSO->setRSTToMode ("RTTY", true);
125 mainWindowInputQSO->setRSTTX("577");
126 QVERIFY2(mainWindowInputQSO->getRSTTX ()== "577", "Wrong RST TX - RTTY");
127 mainWindowInputQSO->setRSTRX("577");
128 QVERIFY2(mainWindowInputQSO->getRSTRX ()== "577", "Wrong RST RX - RTTY");
129 mainWindowInputQSO->setRSTRX("57A");
130 QVERIFY2(mainWindowInputQSO->getRSTRX ()== "57", "Wrong invalid RST RX - RTTY");
131 //qDebug() << Q_FUNC_INFO << ": RTTY Wrong RST: " << mainWindowInputQSO->getRSTRX () << endl;
132
133 mainWindowInputQSO->setRSTToMode ("PSK31", true);
134 mainWindowInputQSO->setRSTTX("577");
135 QVERIFY2(mainWindowInputQSO->getRSTTX ()== "577", "Wrong RST TX - PSK31");
136 mainWindowInputQSO->setRSTRX("577");
137 QVERIFY2(mainWindowInputQSO->getRSTRX ()== "577", "Wrong RST RX - PSK31");
138 mainWindowInputQSO->setRSTRX("57A");
139 QVERIFY2(mainWindowInputQSO->getRSTRX ()== "57", "Wrong invalid RST RX - PSK31");
140 //qDebug() << Q_FUNC_INFO << ": PSK31 Wrong RST: " << mainWindowInputQSO->getRSTRX () << endl;
141
142 mainWindowInputQSO->setRSTToMode ("FT8", true);
143 mainWindowInputQSO->setRSTTX("-18");
144 QVERIFY2(mainWindowInputQSO->getRSTTX ()== "-18", "Wrong RST TX - FT8");
145 mainWindowInputQSO->setRSTRX("18");
146 QVERIFY2(mainWindowInputQSO->getRSTRX ()== "18", "Wrong RST RX - FT8");
147 mainWindowInputQSO->setRSTRX("57A");
148 QVERIFY2(mainWindowInputQSO->getRSTRX ()== "57", "Wrong invalid RST RX - FT8");
149 //qDebug() << Q_FUNC_INFO << ": FT8 Wrong RST: " << mainWindowInputQSO->getRSTRX () << endl;
150
151 mainWindowInputQSO->setRSTToMode ("ELSE", true);
152 mainWindowInputQSO->setRSTTX("555");
153 QVERIFY2(mainWindowInputQSO->getRSTTX ()== "555", "Wrong RST TX - ELSE");
154 mainWindowInputQSO->setRSTRX("555");
155 QVERIFY2(mainWindowInputQSO->getRSTRX ()== "555", "Wrong RST RX - ELSE");
156 mainWindowInputQSO->setRSTRX("57AAAA");
157 QVERIFY2(mainWindowInputQSO->getRSTRX ()== "57AA", "Wrong invalid RST RX - ELSE");
158 //qDebug() << Q_FUNC_INFO << ": ELSE Wrong RST: " << mainWindowInputQSO->getRSTRX () << endl;
159
160 }
161
test_Cleaners()162 void tst_MainWindowInputQSO::test_Cleaners()
163 {
164 //void clear();
165 mainWindowInputQSO->setQTH ("Neverland");
166 mainWindowInputQSO->setDXLocator ("IN80");
167 mainWindowInputQSO->setRXPwr (1.0);
168 mainWindowInputQSO->clear ();
169 QVERIFY2(mainWindowInputQSO->getQTH () == "", "Wrong clear: Not removed QTH");
170 QVERIFY2(mainWindowInputQSO->getDXLocator () == "", "Wrong clear: Not removed Locator");
171 QVERIFY2(mainWindowInputQSO->getRXPwr () < 0.01 , "Wrong clear: Not removed RX Power");
172
173 //void cleanQRZCOM();
174 mainWindowInputQSO->setQTH ("Neverland");
175 mainWindowInputQSO->setDXLocator ("IN80");
176 mainWindowInputQSO->setRXPwr (1.0);
177 mainWindowInputQSO->cleanQRZCOM ();
178 QVERIFY2(mainWindowInputQSO->getQTH () == "", "Wrong cleanQRZCOM: Not removed QTH");
179 QVERIFY2(mainWindowInputQSO->getDXLocator () == "", "Wrong cleanQRZCOM: Not removed Locator");
180 QVERIFY2(util->isSameFreq (mainWindowInputQSO->getRXPwr (), 1.0), "Wrong cleanQRZCOM: Removed RX Power");
181
182 //void clearName();
183 mainWindowInputQSO->setQTH ("Neverland");
184 mainWindowInputQSO->setDXLocator ("IN80");
185 mainWindowInputQSO->setRXPwr (1.0);
186 mainWindowInputQSO->clearName();
187 QVERIFY2(mainWindowInputQSO->getQTH () == "Neverland", "Wrong clearName: Removed QTH");
188 QVERIFY2(mainWindowInputQSO->getDXLocator () == "IN80", "Wrong clearName: Removed Locator");
189 QVERIFY2(util->isSameFreq (mainWindowInputQSO->getRXPwr (), 1.0), "Wrong clearName: Removed RX Power");
190 //void clearQTH();
191 mainWindowInputQSO->clearQTH ();
192 QVERIFY2(mainWindowInputQSO->getQTH () == "", "Wrong cleanQTH: Not removed QTH");
193 //void clearDXLocator();
194 mainWindowInputQSO->clearDXLocator ();
195 QVERIFY2(mainWindowInputQSO->getDXLocator () == "", "Wrong cleanDXLocator: Not removed Locator");
196 }
197
198 QTEST_MAIN(tst_MainWindowInputQSO)
199
200 #include "tst_mainwindowinputqso.moc"
201