| 23 | class TestTLVContainer(unittest.TestCase): |
| 24 | |
| 25 | def testNormalUsageContainer(self): |
| 26 | BUILDERS={ |
| 27 | 1: wps.StringBuilder(), |
| 28 | 2: wps.ByteBuilder(), |
| 29 | 3: wps.NumBuilder(2) |
| 30 | } |
| 31 | tlvc = wps.TLVContainer(builders=BUILDERS) |
| 32 | |
| 33 | KINDS_N_VALUES = ( |
| 34 | (1, b"Sarlanga"), |
| 35 | (2, 1), |
| 36 | (3, 1024), |
| 37 | (4, array.array("B", [1,2,3])) |
| 38 | ) |
| 39 | for k,v in KINDS_N_VALUES: |
| 40 | tlvc.append(k,v) |
| 41 | |
| 42 | tlvc2 = wps.TLVContainer(builders=BUILDERS) |
| 43 | tlvc2.from_ary(tlvc.to_ary()) |
| 44 | |
| 45 | for k,v in KINDS_N_VALUES: |
| 46 | self.assertEqual(v, tlvc2.first(k)) |
| 47 | |
| 48 | self.assertEqual(tlvc.to_ary(), tlvc2.to_ary()) |
| 49 | self.assertEqual(b"Sarlanga", tlvc.first(1)) |
| 50 | |
| 51 | |
| 52 | if __name__ == '__main__': |