blob: 5cdb55eb505355eb489b0cd6283fccb587e1755b [file] [log] [blame]
Vadim Yanitskiy7d57edf2021-03-11 23:01:55 +01001#!/usr/bin/env python3
Daniel Laszlo Sitzer851e9c02018-12-04 19:40:08 +01002
3import unittest
4import utils
5
6class DecTestCase(unittest.TestCase):
7
8 def testSplitHexStringToListOf5ByteEntries(self):
9 input_str = "ffffff0003ffffff0002ffffff0001"
10 expected = [
11 "ffffff0003",
12 "ffffff0002",
13 "ffffff0001",
14 ]
herlesupreeth45fa6042020-09-18 15:32:20 +020015 self.assertEqual(utils.hexstr_to_Nbytearr(input_str, 5), expected)
Daniel Laszlo Sitzer851e9c02018-12-04 19:40:08 +010016
17 def testDecMCCfromPLMN(self):
18 self.assertEqual(utils.dec_mcc_from_plmn("92f501"), 295)
19
20 def testDecMCCfromPLMN_unused(self):
21 self.assertEqual(utils.dec_mcc_from_plmn("ff0f00"), 4095)
22
23 def testDecMNCfromPLMN_twoDigitMNC(self):
24 self.assertEqual(utils.dec_mnc_from_plmn("92f501"), 10)
25
26 def testDecMNCfromPLMN_threeDigitMNC(self):
27 self.assertEqual(utils.dec_mnc_from_plmn("031263"), 361)
28
29 def testDecMNCfromPLMN_unused(self):
30 self.assertEqual(utils.dec_mnc_from_plmn("00f0ff"), 4095)
31
32 def testDecAct_noneSet(self):
33 self.assertEqual(utils.dec_act("0000"), [])
34
35 def testDecAct_onlyUtran(self):
36 self.assertEqual(utils.dec_act("8000"), ["UTRAN"])
37
38 def testDecAct_onlyEUtran(self):
39 self.assertEqual(utils.dec_act("4000"), ["E-UTRAN"])
40
41 def testDecAct_onlyGsm(self):
42 self.assertEqual(utils.dec_act("0080"), ["GSM"])
43
44 def testDecAct_onlyGsmCompact(self):
45 self.assertEqual(utils.dec_act("0040"), ["GSM COMPACT"])
46
47 def testDecAct_onlyCdma2000HRPD(self):
48 self.assertEqual(utils.dec_act("0020"), ["cdma2000 HRPD"])
49
50 def testDecAct_onlyCdma20001xRTT(self):
51 self.assertEqual(utils.dec_act("0010"), ["cdma2000 1xRTT"])
52
53 def testDecAct_allSet(self):
54 self.assertEqual(utils.dec_act("ffff"), ["UTRAN", "E-UTRAN", "GSM", "GSM COMPACT", "cdma2000 HRPD", "cdma2000 1xRTT"])
55
56 def testDecxPlmn_w_act(self):
57 expected = {'mcc': 295, 'mnc': 10, 'act': ["UTRAN"]}
58 self.assertEqual(utils.dec_xplmn_w_act("92f5018000"), expected)
59
60 def testFormatxPlmn_w_act(self):
61 input_str = "92f501800092f5508000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000"
62 expected = '''92f5018000 # MCC: 295 MNC: 10 AcT: UTRAN
6392f5508000 # MCC: 295 MNC: 5 AcT: UTRAN
64ffffff0000 # unused
65ffffff0000 # unused
66ffffff0000 # unused
67ffffff0000 # unused
68ffffff0000 # unused
69ffffff0000 # unused
70ffffff0000 # unused
71ffffff0000 # unused
72'''
73 self.assertEqual(utils.format_xplmn_w_act(input_str), expected)
74
75if __name__ == "__main__":
76 unittest.main()