~hmatuschek/+junk/qdmr-package

« back to all changes in this revision

Viewing changes to test/configtest.cc

  • Committer: Hannes Matuschek
  • Date: 2020-07-07 14:34:22 UTC
  • mto: (17.1.1 qdmr-package)
  • mto: This revision was merged to the branch mainline in revision 10.
  • Revision ID: hmatuschek@gmail.com-20200707143422-1djcxrjkem3k5kb1
Tags: upstream-0.3.0
ImportĀ upstreamĀ versionĀ 0.3.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "configtest.hh"
 
2
#include "config.hh"
 
3
#include <QTest>
 
4
 
 
5
 
 
6
ConfigTest::ConfigTest(QObject *parent) : QObject(parent)
 
7
{
 
8
  // pass...
 
9
}
 
10
 
 
11
 
 
12
void
 
13
ConfigTest::initTestCase() {
 
14
  // Read simple configuration file
 
15
  QString errMessage;
 
16
  QVERIFY(_config.readCSV("://testconfig.conf", errMessage));
 
17
}
 
18
 
 
19
void
 
20
ConfigTest::cleanupTestCase() {
 
21
  // clear codeplug
 
22
  _config.reset();
 
23
}
 
24
 
 
25
void
 
26
ConfigTest::testRadioName() {
 
27
  QCOMPARE(_config.name(), QString("DM3MAT"));
 
28
}
 
29
 
 
30
void
 
31
ConfigTest::testDMRID() {
 
32
  QCOMPARE(_config.id(), 1234567U);
 
33
}
 
34
 
 
35
void
 
36
ConfigTest::testIntroLines() {
 
37
  QCOMPARE(_config.introLine1(), QString("ABC"));
 
38
  QCOMPARE(_config.introLine2(), QString("DEF"));
 
39
}
 
40
 
 
41
void
 
42
ConfigTest::testMicLevel() {
 
43
  QCOMPARE(_config.micLevel(), 3u);
 
44
}
 
45
 
 
46
void
 
47
ConfigTest::testSpeechSynthesis() {
 
48
  QCOMPARE(_config.speech(), false);
 
49
}
 
50
 
 
51
void
 
52
ConfigTest::testDigitalContacts() {
 
53
  QCOMPARE(_config.contacts()->digitalCount(), 4); // Number of digital contacts
 
54
  /*
 
55
   * Test Contact 01
 
56
   */
 
57
  QCOMPARE(_config.contacts()->digitalContact(0)->name(), QString("Lokal"));
 
58
  QCOMPARE(_config.contacts()->digitalContact(0)->number(), 9U);
 
59
  QCOMPARE(_config.contacts()->digitalContact(0)->type(), DigitalContact::GroupCall);
 
60
  QCOMPARE(_config.contacts()->digitalContact(0)->rxTone(), false); // receive tone (off)
 
61
 
 
62
  /*
 
63
   * Test Contact 02
 
64
   */
 
65
  QCOMPARE(_config.contacts()->digitalContact(1)->name(), QString("Bln/Brb"));
 
66
  QCOMPARE(_config.contacts()->digitalContact(1)->number(), 2621U);
 
67
  QCOMPARE(_config.contacts()->digitalContact(1)->type(), DigitalContact::GroupCall); // group call
 
68
  QCOMPARE(_config.contacts()->digitalContact(1)->rxTone(), false); // receive tone (off)
 
69
 
 
70
  /*
 
71
   * Test Contact 03
 
72
   */
 
73
  QCOMPARE(_config.contacts()->digitalContact(2)->name(), QString("All Call"));
 
74
  QCOMPARE(_config.contacts()->digitalContact(2)->number(), 16777215U);
 
75
  QCOMPARE(_config.contacts()->digitalContact(2)->type(), DigitalContact::AllCall); // all call
 
76
  QCOMPARE(_config.contacts()->digitalContact(2)->rxTone(), false); // receive tone (off)
 
77
 
 
78
  /*
 
79
   * Test Contact 04
 
80
   */
 
81
  QCOMPARE(_config.contacts()->digitalContact(3)->name(), QString("BM APRS"));
 
82
  QCOMPARE(_config.contacts()->digitalContact(3)->number(), 262999U);
 
83
  QCOMPARE(_config.contacts()->digitalContact(3)->type(), DigitalContact::PrivateCall); // private call
 
84
  QCOMPARE(_config.contacts()->digitalContact(3)->rxTone(), false); // receive tone (off)
 
85
}
 
86
 
 
87
void
 
88
ConfigTest::testRXGroups() {
 
89
  /*
 
90
   * Test RX Group List table
 
91
   */
 
92
  QCOMPARE(_config.rxGroupLists()->count(), 1); // Number group lists
 
93
 
 
94
  /*
 
95
   * Test RX Group List 01
 
96
   */
 
97
  QCOMPARE(_config.rxGroupLists()->list(0)->count(), 2); // Number group lists
 
98
  QCOMPARE(_config.rxGroupLists()->list(0)->name(), QString("Berlin/Brand")); // Check name
 
99
  QCOMPARE(_config.contacts()->indexOfDigital(_config.rxGroupLists()->list(0)->contact(0)), 0x00); // 1st member index +1
 
100
  QCOMPARE(_config.contacts()->indexOfDigital(_config.rxGroupLists()->list(0)->contact(1)), 0x01); // 2nd member index +1
 
101
}
 
102
 
 
103
void
 
104
ConfigTest::testDigitalChannels() {
 
105
  /*
 
106
   * Test Channel bank 0
 
107
   */
 
108
  QCOMPARE(_config.channelList()->count(), 0x5); // First 5 channels enabled
 
109
 
 
110
  /*
 
111
   * Test channel 01
 
112
   */
 
113
  QCOMPARE(_config.channelList()->channel(0)->name(), QString("BB DB0LDS TS2")); // Check name
 
114
  QCOMPARE(_config.channelList()->channel(0)->rxFrequency(), 439.563); // check RX Frequency
 
115
  QCOMPARE(_config.channelList()->channel(0)->txFrequency(), 431.963); // check TX Frequency
 
116
  QCOMPARE(_config.channelList()->channel(0)->power(), Channel::HighPower); // check power
 
117
  QCOMPARE(_config.channelList()->channel(0)->scanList(), nullptr); // Scanlist
 
118
  QCOMPARE(_config.channelList()->channel(0)->txTimeout(), 45U);
 
119
  QCOMPARE(_config.channelList()->channel(0)->rxOnly(), false);
 
120
  QCOMPARE(_config.channelList()->channel(0)->as<DigitalChannel>()->admit(), DigitalChannel::AdmitColorCode);
 
121
  QCOMPARE(_config.channelList()->channel(0)->as<DigitalChannel>()->colorCode(), 1u);
 
122
  QCOMPARE(_config.channelList()->channel(0)->as<DigitalChannel>()->timeslot(), DigitalChannel::TimeSlot2);
 
123
  QCOMPARE(_config.rxGroupLists()->indexOf(
 
124
             _config.channelList()->channel(0)->as<DigitalChannel>()->rxGroupList()), 0); // RX Group list index
 
125
  QCOMPARE(_config.contacts()->indexOfDigital(
 
126
             _config.channelList()->channel(0)->as<DigitalChannel>()->txContact()), 1);   // TX contact index
 
127
  QCOMPARE(_config.gpsSystems()->indexOf(
 
128
             _config.channelList()->channel(0)->as<DigitalChannel>()->gpsSystem()), 0);   // GPS system index
 
129
 
 
130
  /*
 
131
   * Test channel 02
 
132
   */
 
133
  QCOMPARE(_config.channelList()->channel(1)->name(), QString("BB DM0TT TS2")); // Check name
 
134
  QCOMPARE(_config.channelList()->channel(1)->rxFrequency(), 439.0870); // check RX Frequency
 
135
  QCOMPARE(_config.channelList()->channel(1)->txFrequency(), 431.4870); // check TX Frequency
 
136
  QCOMPARE(_config.channelList()->channel(1)->power(), Channel::HighPower); // check power
 
137
  QCOMPARE(_config.channelList()->channel(1)->scanList(), nullptr); // Scanlist
 
138
  QCOMPARE(_config.channelList()->channel(1)->txTimeout(), 45U);
 
139
  QCOMPARE(_config.channelList()->channel(1)->rxOnly(), false);
 
140
  QCOMPARE(_config.channelList()->channel(1)->as<DigitalChannel>()->admit(), DigitalChannel::AdmitColorCode);
 
141
  QCOMPARE(_config.channelList()->channel(1)->as<DigitalChannel>()->colorCode(), 1u);
 
142
  QCOMPARE(_config.channelList()->channel(1)->as<DigitalChannel>()->timeslot(), DigitalChannel::TimeSlot2);
 
143
  QCOMPARE(_config.rxGroupLists()->indexOf(
 
144
             _config.channelList()->channel(1)->as<DigitalChannel>()->rxGroupList()), 0); // RX Group list index
 
145
  QCOMPARE(_config.contacts()->indexOfDigital(
 
146
             _config.channelList()->channel(1)->as<DigitalChannel>()->txContact()), 1);   // TX contact index
 
147
  QCOMPARE(_config.channelList()->channel(1)->as<DigitalChannel>()->gpsSystem(), nullptr);   // GPS system none
 
148
 
 
149
  /*
 
150
   * Test channel 03
 
151
   */
 
152
  QCOMPARE(_config.channelList()->channel(2)->name(), QString("TG9 DB0KK TS1")); // Check name
 
153
  QCOMPARE(_config.channelList()->channel(2)->rxFrequency(), 439.5380); // check RX Frequency
 
154
  QCOMPARE(_config.channelList()->channel(2)->txFrequency(), 431.9380); // check TX Frequency
 
155
  QCOMPARE(_config.channelList()->channel(2)->power(), Channel::HighPower); // check power
 
156
  QCOMPARE(_config.channelList()->channel(2)->scanList(), nullptr); // Scanlist
 
157
  QCOMPARE(_config.channelList()->channel(2)->txTimeout(), 45U);
 
158
  QCOMPARE(_config.channelList()->channel(2)->rxOnly(), false);
 
159
  QCOMPARE(_config.channelList()->channel(2)->as<DigitalChannel>()->admit(), DigitalChannel::AdmitColorCode);
 
160
  QCOMPARE(_config.channelList()->channel(2)->as<DigitalChannel>()->colorCode(), 1u);
 
161
  QCOMPARE(_config.channelList()->channel(2)->as<DigitalChannel>()->timeslot(), DigitalChannel::TimeSlot1);
 
162
  QCOMPARE(_config.rxGroupLists()->indexOf(
 
163
             _config.channelList()->channel(2)->as<DigitalChannel>()->rxGroupList()), 0); // RX Group list index
 
164
  QCOMPARE(_config.contacts()->indexOfDigital(
 
165
             _config.channelList()->channel(2)->as<DigitalChannel>()->txContact()), 0);   // TX contact index
 
166
  QCOMPARE(_config.channelList()->channel(2)->as<DigitalChannel>()->gpsSystem(), nullptr);   // GPS system index
 
167
}
 
168
 
 
169
void
 
170
ConfigTest::testAnalogChannels() {
 
171
  /*
 
172
   * Test Channel bank 0
 
173
   */
 
174
  QCOMPARE(_config.channelList()->count(), 0x5); // First 5 channels enabled
 
175
 
 
176
  /*
 
177
   * Test channel 04
 
178
   */
 
179
  QCOMPARE(_config.channelList()->channel(3)->name(), QString("DB0LDS")); // Check name
 
180
  QCOMPARE(_config.channelList()->channel(3)->rxFrequency(), 439.5625); // check RX Frequency
 
181
  QCOMPARE(_config.channelList()->channel(3)->txFrequency(), 431.9625); // check TX Frequency
 
182
  QCOMPARE(_config.channelList()->channel(3)->power(), Channel::HighPower); // check power
 
183
  QCOMPARE(_config.channelList()->channel(3)->scanList(), nullptr); // Scanlist
 
184
  QCOMPARE(_config.channelList()->channel(3)->txTimeout(), 45U);
 
185
  QCOMPARE(_config.channelList()->channel(3)->rxOnly(), false);
 
186
  QCOMPARE(_config.channelList()->channel(3)->as<AnalogChannel>()->admit(), AnalogChannel::AdmitTone); // admit
 
187
  QCOMPARE(_config.channelList()->channel(3)->as<AnalogChannel>()->squelch(), 1u); // squelch
 
188
  QCOMPARE(_config.channelList()->channel(3)->as<AnalogChannel>()->rxTone(), 67.0); // RX CTCSS tone
 
189
  QCOMPARE(_config.channelList()->channel(3)->as<AnalogChannel>()->txTone(), 67.0); // TX CTCSS tone
 
190
 
 
191
  /*
 
192
   * Test channel 05
 
193
   */
 
194
  QCOMPARE(_config.channelList()->channel(4)->name(), QString("DB0SP-2")); // Check name
 
195
  QCOMPARE(_config.channelList()->channel(4)->rxFrequency(), 145.6000); // check RX Frequency
 
196
  QCOMPARE(_config.channelList()->channel(4)->txFrequency(), 145.0000); // check TX Frequency
 
197
  QCOMPARE(_config.channelList()->channel(4)->power(), Channel::HighPower); // check power
 
198
  QCOMPARE(_config.channelList()->channel(4)->scanList(), nullptr); // Scanlist
 
199
  QCOMPARE(_config.channelList()->channel(4)->txTimeout(), 45U);
 
200
  QCOMPARE(_config.channelList()->channel(4)->rxOnly(), false);
 
201
  QCOMPARE(_config.channelList()->channel(4)->as<AnalogChannel>()->admit(), AnalogChannel::AdmitFree); // admit
 
202
  QCOMPARE(_config.channelList()->channel(4)->as<AnalogChannel>()->squelch(), 1u); // squelch
 
203
  QCOMPARE(_config.channelList()->channel(4)->as<AnalogChannel>()->rxTone(), 0.0); // RX CTCSS tone
 
204
  QCOMPARE(_config.channelList()->channel(4)->as<AnalogChannel>()->txTone(), 0.0); // TX CTCSS tone
 
205
}
 
206
 
 
207
void
 
208
ConfigTest::testZones() {
 
209
  // Check number of zones (1)
 
210
  QCOMPARE(_config.zones()->count(), 1);
 
211
 
 
212
  /*
 
213
   * Check zone 01
 
214
   */
 
215
  QCOMPARE(_config.zones()->zone(0)->name(), QString("KW"));
 
216
  QCOMPARE(_config.zones()->zone(0)->A()->count(), 3);
 
217
  QCOMPARE(_config.zones()->zone(0)->B()->count(), 2);
 
218
  QCOMPARE(_config.channelList()->indexOf(
 
219
             _config.zones()->zone(0)->A()->channel(0)), 0);
 
220
  QCOMPARE(_config.channelList()->indexOf(
 
221
             _config.zones()->zone(0)->A()->channel(1)), 2);
 
222
  QCOMPARE(_config.channelList()->indexOf(
 
223
             _config.zones()->zone(0)->A()->channel(2)), 4);
 
224
  QCOMPARE(_config.channelList()->indexOf(
 
225
             _config.zones()->zone(0)->B()->channel(0)), 1);
 
226
  QCOMPARE(_config.channelList()->indexOf(
 
227
             _config.zones()->zone(0)->B()->channel(1)), 3);
 
228
}
 
229
 
 
230
void
 
231
ConfigTest::testScanLists() {
 
232
  // pass...
 
233
}
 
234
 
 
235
void
 
236
ConfigTest::testGPSSystems() {
 
237
  // Check number of GPS systems (1)
 
238
  QCOMPARE(_config.gpsSystems()->count(), 1);
 
239
 
 
240
  /*
 
241
   * Check GPS system 01
 
242
   */
 
243
  QCOMPARE(_config.gpsSystems()->gpsSystem(0)->name(), QString("BM APRS"));
 
244
  QCOMPARE(_config.contacts()->indexOfDigital(
 
245
             _config.gpsSystems()->gpsSystem(0)->contact()), 3);
 
246
  QCOMPARE(_config.gpsSystems()->gpsSystem(0)->period(), 300u);
 
247
  QCOMPARE(_config.gpsSystems()->gpsSystem(0)->revertChannel(), nullptr);
 
248
}
 
249
 
 
250
 
 
251
QTEST_GUILESS_MAIN(ConfigTest)