diff options
Diffstat (limited to 'tests/test_esim_saip.py')
-rwxr-xr-x | tests/test_esim_saip.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/test_esim_saip.py b/tests/test_esim_saip.py index a70c149..51017fb 100755 --- a/tests/test_esim_saip.py +++ b/tests/test_esim_saip.py @@ -21,6 +21,7 @@ import copy from pySim.utils import h2b, b2h from pySim.esim.saip import * +from pySim.esim.saip.data_source import * from pySim.esim.saip.personalization import * from pprint import pprint as pp @@ -64,5 +65,47 @@ class SaipTest(unittest.TestCase): pes.to_der() +class DataSourceTest(unittest.TestCase): + def test_fixed(self): + FIXED = b'\x01\x02\x03' + ds = DataSourceFixed(FIXED) + self.assertEqual(ds.generate_one(), FIXED) + self.assertEqual(ds.generate_one(), FIXED) + self.assertEqual(ds.generate_one(), FIXED) + + def test_incrementing(self): + BASE_VALUE = 100 + ds = DataSourceIncrementing(BASE_VALUE) + self.assertEqual(ds.generate_one(), BASE_VALUE) + self.assertEqual(ds.generate_one(), BASE_VALUE+1) + self.assertEqual(ds.generate_one(), BASE_VALUE+2) + self.assertEqual(ds.generate_one(), BASE_VALUE+3) + + def test_incrementing_step3(self): + BASE_VALUE = 300 + ds = DataSourceIncrementing(BASE_VALUE, step_size=3) + self.assertEqual(ds.generate_one(), BASE_VALUE) + self.assertEqual(ds.generate_one(), BASE_VALUE+3) + self.assertEqual(ds.generate_one(), BASE_VALUE+6) + + def test_random(self): + ds = DataSourceRandomBytes(8) + res = [] + for i in range(0,100): + res.append(ds.generate_one()) + for r in res: + self.assertEqual(len(r), 8) + # ensure no duplicates exist + self.assertEqual(len(set(res)), len(res)) + + def test_random_int(self): + ds = DataSourceRandomUInt(below=256) + res = [] + for i in range(0,100): + res.append(ds.generate_one()) + for r in res: + self.assertTrue(r < 256) + + if __name__ == "__main__": unittest.main() |