Harald Welte | d0519e0 | 2022-02-11 18:05:48 +0100 | [diff] [blame] | 1 | #!/usr/bin/env python3 |
| 2 | |
| 3 | import unittest |
Harald Welte | 81f4b40 | 2022-02-12 10:31:27 +0100 | [diff] [blame] | 4 | from pySim.construct import * |
Harald Welte | d0519e0 | 2022-02-11 18:05:48 +0100 | [diff] [blame] | 5 | |
| 6 | tests = [ |
| 7 | ( b'\x80', 0x80 ), |
| 8 | ( b'\x80\x01', 0x8001 ), |
| 9 | ( b'\x80\x00\x01', 0x800001 ), |
| 10 | ( b'\x80\x23\x42\x01', 0x80234201 ), |
| 11 | ] |
| 12 | |
| 13 | class TestGreedyInt(unittest.TestCase): |
| 14 | def test_GreedyInt_decoder(self): |
| 15 | gi = GreedyInteger() |
| 16 | for t in tests: |
| 17 | self.assertEqual(gi.parse(t[0]), t[1]) |
| 18 | def test_GreedyInt_encoder(self): |
| 19 | gi = GreedyInteger() |
| 20 | for t in tests: |
| 21 | self.assertEqual(t[0], gi.build(t[1])) |
| 22 | pass |
| 23 | |
Harald Welte | 81f4b40 | 2022-02-12 10:31:27 +0100 | [diff] [blame] | 24 | class TestUtils(unittest.TestCase): |
| 25 | def test_filter_dict(self): |
| 26 | inp = {'foo': 0xf00, '_bar' : 0xba5, 'baz': 0xba2 } |
| 27 | out = {'foo': 0xf00, 'baz': 0xba2 } |
| 28 | self.assertEqual(filter_dict(inp), out) |
| 29 | |
| 30 | def test_filter_dict_nested(self): |
| 31 | inp = {'foo': 0xf00, 'nest': {'_bar' : 0xba5}, 'baz': 0xba2 } |
| 32 | out = {'foo': 0xf00, 'nest': {}, 'baz': 0xba2 } |
| 33 | self.assertEqual(filter_dict(inp), out) |
| 34 | |
Harald Welte | d0519e0 | 2022-02-11 18:05:48 +0100 | [diff] [blame] | 35 | |
| 36 | if __name__ == "__main__": |
| 37 | unittest.main() |