def testfindNextOK(self): tag1 = Tag(number=1) tag2 = Tag(cls=2, number=2) tlv = BERTLV.getInstance( TLV(Tag(constr=True), TLV(tag1, [0,6,7,56]) + # tlv2 TLV(tag2, [89,4,3,6,1,6,]) + TLV(tag2, [0,6,7,56]) + TLV(tag1, [89,4,3,3,1,6,7,8]) + # tlv3 TLV(tag2, [0,6,7,0, 0, 0, 0]) + TLV(tag1, [0,6,7,56]) + # tlv2 (bis) TLV(tag1, [89,4]) # tlv4 ), 0) tlv2 = tlv.find(BERTag.getInstance(tag1, 0)) tlv3 = tlv.findNext( BERTag.getInstance(tag1, 0), tlv2, 1) self.assertEquals(BERTag.getInstance(tag1, 0), tlv3.getTag()) array = [0 for i in range (10)] size = tlv3.getValue(array, 0) self.assertEquals(8, size) self.assertEquals([89,4,3,3,1,6,7,8], array[0:size]) tlv4 = tlv.findNext( BERTag.getInstance(tag1, 0), tlv2, 2) self.assertEquals(BERTag.getInstance(tag1, 0), tlv4.getTag()) size = tlv4.getValue(array, 0) self.assertEquals(2, size) self.assertEquals([89,4], array[0:size])
def testGetInstance(self): tag = BERTag.getInstance(Tag(3, True, 5), 0) self.assertEquals(3, tag.tagClass()) self.assertEquals(True, tag.isConstructed()) self.assertEquals(5, tag.tagNumber()) tag = BERTag.getInstance(Tag(2, False, 6780087076965536589667), 0) self.assertEquals(2, tag.tagClass()) self.assertEquals(False, tag.isConstructed()) self.assertEquals(6780087076965536589667, tag.tagNumber())
def testtoBytes(self): array = [0 for i in xrange(10)] self.assertEquals(1, BERTag.toBytes(1, False, 5, array, 0)) self.assertEquals(0x45, array[0]) self.assertEquals(3, BERTag.toBytes(1, False, 0x3fff, array, 0)) self.assertEquals(0x5f, array[0]) self.assertEquals(-1, array[1]) self.assertEquals(0x7f, array[2]) self.assertEquals(1, BERTag.toBytes(3, True, 1, array, 3)) self.assertEquals(-31, array[3])
def testfindNOK(self): tlv = BERTLV.getInstance( TLV(Tag(constr=True, number=8), TLV(Tag(number=7), [0,6,7,56]) + TLV(Tag(cls=2, number=5), [89,4,3,6,1,6,]) ), 0) self.assertEquals(None, tlv.find(BERTag.getInstance(Tag(number=3), 0)))
def testfindOk(self): tlv = BERTLV.getInstance( TLV(Tag(constr=True, number=8), TLV(Tag(number=7), [0,6,7,56]) + TLV(Tag(cls=2, number=5), [89,4,3,6,1,6,]) ), 0) tlv2 = tlv.find(BERTag.getInstance(Tag(number=7), 0)) self.assertEquals(BERTag.getInstance(Tag(number=7), 0), tlv2.getTag()) array = [0 for i in range (10)] size = tlv2.getValue(array, 0) self.assertEquals(4, size) self.assertEquals([0, 6, 7, 56], array[0:size]) tlv2 = tlv.find(BERTag.getInstance(Tag(cls=2, number=5), 0)) self.assertEquals(BERTag.getInstance(Tag(cls=2, number=5), 0), tlv2.getTag()) size = tlv2.getValue(array, 0) self.assertEquals(6, size) self.assertEquals([89, 4, 3, 6, 1, 6], array[0:size])
def testfindNextNOK(self): tag1 = Tag(number=1) tag2 = Tag(cls=2, number=2) tlv = BERTLV.getInstance( TLV(Tag(constr=True), TLV(tag1, [0,6,7,56]) + # tlv2 TLV(tag2, [89,4,3,6,1,6,]) + TLV(tag2, [0,6,7,56]) + TLV(tag1, [89,4,3,3,1,6,7,8]) + TLV(tag2, [0,6,7,0, 0, 0, 0]) + TLV(tag1, [0,6,7,56]) + # tlv2 (bis) TLV(tag1, [89,4]) ), 0) tlv2 = tlv.find(BERTag.getInstance(tag1, 0)) self.assertEquals(None, tlv.findNext( BERTag.getInstance(Tag(number=5), 0), tlv2, 1))