def test_get_range(self): ''' Test that the get_range bit operation is correct ''' cases = { #( 0, 7): 0x38, #( 4, 12): 0x23, #(15, 20): 0x0F, ( 0, 18): 0x7E238, } barray = BitArray(block=8, array=[0xC7, 0xE2, 0x38]) for (sidx, eidx), expected in cases.items(): #print "expectd: %s %s" %( hex(expected), hex(barray.get_range(sidx, eidx))) self.assertEqual(expected, barray.get_range(sidx, eidx))