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