blob: ff028dad0948223c028e0f7dce138f1d237a6721 [file] [log] [blame]
Daniel Laszlo Sitzer851e9c02018-12-04 19:40:08 +01001#!/usr/bin/pyton
2
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 ]
15 self.assertEqual(utils.hexstr_to_fivebytearr(input_str), expected)
16
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()