1
#include "configtest.hh"
6
ConfigTest::ConfigTest(QObject *parent) : QObject(parent)
13
ConfigTest::initTestCase() {
14
// Read simple configuration file
16
QVERIFY(_config.readCSV("://testconfig.conf", errMessage));
20
ConfigTest::cleanupTestCase() {
26
ConfigTest::testRadioName() {
27
QCOMPARE(_config.name(), QString("DM3MAT"));
31
ConfigTest::testDMRID() {
32
QCOMPARE(_config.id(), 1234567U);
36
ConfigTest::testIntroLines() {
37
QCOMPARE(_config.introLine1(), QString("ABC"));
38
QCOMPARE(_config.introLine2(), QString("DEF"));
42
ConfigTest::testMicLevel() {
43
QCOMPARE(_config.micLevel(), 3u);
47
ConfigTest::testSpeechSynthesis() {
48
QCOMPARE(_config.speech(), false);
52
ConfigTest::testDigitalContacts() {
53
QCOMPARE(_config.contacts()->digitalCount(), 4); // Number of digital contacts
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)
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)
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)
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)
88
ConfigTest::testRXGroups() {
90
* Test RX Group List table
92
QCOMPARE(_config.rxGroupLists()->count(), 1); // Number group lists
95
* Test RX Group List 01
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
104
ConfigTest::testDigitalChannels() {
106
* Test Channel bank 0
108
QCOMPARE(_config.channelList()->count(), 0x5); // First 5 channels enabled
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
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
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
170
ConfigTest::testAnalogChannels() {
172
* Test Channel bank 0
174
QCOMPARE(_config.channelList()->count(), 0x5); // First 5 channels enabled
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
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
208
ConfigTest::testZones() {
209
// Check number of zones (1)
210
QCOMPARE(_config.zones()->count(), 1);
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);
231
ConfigTest::testScanLists() {
236
ConfigTest::testGPSSystems() {
237
// Check number of GPS systems (1)
238
QCOMPARE(_config.gpsSystems()->count(), 1);
241
* Check GPS system 01
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);
251
QTEST_GUILESS_MAIN(ConfigTest)