1 #include "test.h"
2 
3 #include "../src/bands.h"
4 #include "../src/globalvars.h"
5 
6 // OBJECT ../src/bands.o
7 
8 /* test conversion from bandindex to bandmask */
test_toBandMask(void ** state)9 void test_toBandMask(void **state) {
10     assert_int_equal(inxes[BANDINDEX_160], BAND160);
11     assert_int_equal(inxes[BANDINDEX_80], BAND80);
12     assert_int_equal(inxes[BANDINDEX_60], BAND60);
13     assert_int_equal(inxes[BANDINDEX_40], BAND40);
14     assert_int_equal(inxes[BANDINDEX_30], BAND30);
15     assert_int_equal(inxes[BANDINDEX_20], BAND20);
16     assert_int_equal(inxes[BANDINDEX_17], BAND17);
17     assert_int_equal(inxes[BANDINDEX_15], BAND15);
18     assert_int_equal(inxes[BANDINDEX_12], BAND12);
19     assert_int_equal(inxes[BANDINDEX_10], BAND10);
20     assert_int_equal(inxes[BANDINDEX_OOB], 0);
21 }
22 
23 /* test IsWarcIndex */
test_IsWarcIndex(void ** state)24 void test_IsWarcIndex(void **state) {
25     assert_int_equal(IsWarcIndex(BANDINDEX_160), 0);
26     assert_int_equal(IsWarcIndex(BANDINDEX_80), 0);
27     assert_int_equal(IsWarcIndex(BANDINDEX_60), 1);
28     assert_int_equal(IsWarcIndex(BANDINDEX_40), 0);
29     assert_int_equal(IsWarcIndex(BANDINDEX_30), 1);
30     assert_int_equal(IsWarcIndex(BANDINDEX_20), 0);
31     assert_int_equal(IsWarcIndex(BANDINDEX_17), 1);
32     assert_int_equal(IsWarcIndex(BANDINDEX_15), 0);
33     assert_int_equal(IsWarcIndex(BANDINDEX_12), 1);
34     assert_int_equal(IsWarcIndex(BANDINDEX_10), 0);
35 }
36 
37 /* test conversion from bandnumber to bandindex */
test_bandnr2index(void ** state)38 void test_bandnr2index(void **state) {
39     assert_int_equal(bandnr2index(160), BANDINDEX_160);
40     assert_int_equal(bandnr2index(80), BANDINDEX_80);
41     assert_int_equal(bandnr2index(60), BANDINDEX_60);
42     assert_int_equal(bandnr2index(40), BANDINDEX_40);
43     assert_int_equal(bandnr2index(30), BANDINDEX_30);
44     assert_int_equal(bandnr2index(20), BANDINDEX_20);
45     assert_int_equal(bandnr2index(17), BANDINDEX_17);
46     assert_int_equal(bandnr2index(15), BANDINDEX_15);
47     assert_int_equal(bandnr2index(12), BANDINDEX_12);
48     assert_int_equal(bandnr2index(10), BANDINDEX_10);
49     assert_int_equal(bandnr2index(99), BANDINDEX_OOB);
50     assert_int_equal(bandnr2index(0), BANDINDEX_OOB);
51 }
52 
53 /* test conversion from bandindex to bandnumber */
test_bandindex2nr(void ** state)54 void test_bandindex2nr(void **state) {
55     assert_int_equal(bandindex2nr(BANDINDEX_160), 160);
56     assert_int_equal(bandindex2nr(BANDINDEX_80), 80);
57     assert_int_equal(bandindex2nr(BANDINDEX_60), 60);
58     assert_int_equal(bandindex2nr(BANDINDEX_40), 40);
59     assert_int_equal(bandindex2nr(BANDINDEX_30), 30);
60     assert_int_equal(bandindex2nr(BANDINDEX_20), 20);
61     assert_int_equal(bandindex2nr(BANDINDEX_17), 17);
62     assert_int_equal(bandindex2nr(BANDINDEX_15), 15);
63     assert_int_equal(bandindex2nr(BANDINDEX_12), 12);
64     assert_int_equal(bandindex2nr(BANDINDEX_10), 10);
65     assert_int_equal(bandindex2nr(BANDINDEX_OOB), 0);
66 }
67 
68 
69 /* test switch to next band UP or DOWN */
test_nextBandUp(void ** state)70 void test_nextBandUp(void **state) {
71     bandinx = BANDINDEX_12;
72     next_band(BAND_UP);
73     assert_int_equal(bandinx, BANDINDEX_10);
74 }
75 
test_nextBandDown(void ** state)76 void test_nextBandDown(void **state) {
77     bandinx = BANDINDEX_12;
78     next_band(BAND_DOWN);
79     assert_int_equal(bandinx, BANDINDEX_15);
80 }
81 
test_nextBandWrapUpwards(void ** state)82 void test_nextBandWrapUpwards(void **state) {
83     bandinx = BANDINDEX_10;
84     next_band(BAND_UP);
85     assert_int_equal(bandinx, BANDINDEX_160);
86 }
87 
test_nextBandWrapDownwards(void ** state)88 void test_nextBandWrapDownwards(void **state) {
89     bandinx = BANDINDEX_160;
90     next_band(BAND_DOWN);
91     assert_int_equal(bandinx, BANDINDEX_10);
92 }
93 
94 /* test conversion from bandmap.c */
test_conv_f2b_out_of_band(void ** state)95 void test_conv_f2b_out_of_band(void ** state) {
96     assert_int_equal(freq2band(5000000),BANDINDEX_OOB);
97 }
98 
test_conv_f2b_borders(void ** state)99 void test_conv_f2b_borders(void ** state) {
100     assert_int_equal(freq2band(1799999),BANDINDEX_OOB);
101     assert_int_equal(freq2band(2000001),BANDINDEX_OOB);
102     assert_int_equal(freq2band(1800000),0);
103     assert_int_equal(freq2band(2000000),0);
104 }
105 
test_conv_f2b(void ** state)106 void test_conv_f2b(void ** state) {
107     assert_int_equal(freq2band(1830000),0);
108     assert_int_equal(freq2band(3510000),1);
109     assert_int_equal(freq2band(5353500),2);
110     assert_int_equal(freq2band(7020000),3);
111     assert_int_equal(freq2band(10110000),4);
112     assert_int_equal(freq2band(14100000),5);
113     assert_int_equal(freq2band(18070000),6);
114     assert_int_equal(freq2band(21200000),7);
115     assert_int_equal(freq2band(24890000),8);
116     assert_int_equal(freq2band(28300000),9);
117 }
118