Beispiel #1
0
 def encode(self):
     """ Returns a single byte array including all the payloads and indexes"""
     result = bytearray()
     result.append(0x00)
     
     for index in self.items:
         item = self.items[index]
         print "-", index, "\t>", repr(item)
         
         # append length bytes
         result.extend(bincalc.numberToVarint(len(item)))
         
         # append index bytes
         result.extend(bincalc.numberToVarint(index))
         
         # append content bytes
         result.extend(item)
     
     return result
     
Beispiel #2
0
    def test_03_numberToVarint(self):
        # bincalc.py
        print
        print "  number |                    encoded | restored"
        print "---------+----------------------------+----------"

        tests = [0, 1, 127, 128, 255, 256, 1024, 65535, 65536, 1<<62, 1<<63]
        for orig in tests:
            b = bincalc.numberToVarint(orig)
            restored = bincalc.varintToNumber(b)
            print "   %5i | %26s | %s" % (orig, repr(b), repr(restored))
            self.assertEqual(orig, restored)