Example #1
0
    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])
Example #2
0
    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())
Example #3
0
    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])
Example #4
0
    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)))
Example #5
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])
Example #6
0
    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))