SMS testing
Encode case 0: Octet length 8 (expected 8, computed 8), septet length 9 (expected 9)
Encode case 1: Octet length 36 (expected 36, computed 36), septet length 41 (expected 41)
Encode case 2: Octet length 35 (expected 35, computed 35), septet length 39 (expected 39)
Encode case 3: Octet length 35 (expected 35, computed 35), septet length 40 (expected 40)
Decode case 0: return value 9 (expected 9)
Decode case 1: return value 40 (expected 40)
Decode case 2: return value 31 (expected 31)
Decode case 3: return value 32 (expected 32)
Decode case 4: return value 153 (expected 153)
Decode case 5: return value 40 (expected 40)
Encoding some tests and printing number of septets/octets
SEPTETS: 8 OCTETS: 7
Done
Testing gsm340_gen_oa
Result: len(12) data(14 81 21 43 65 87 09 21 43 65 87 19 )
Result: len(12) data(14 a1 21 43 65 87 09 21 43 65 87 19 )
Result: len(2) data(00 91 )
Result: len(9) data(0e d0 4f 78 d9 2d 9c 0e 01 )
Result: len(12) data(14 d0 4f 78 d9 2d 9c 0e c3 e2 31 19 )

Running test_enc_large_msg
gsm_7bit_encode_n(len=2048) processed 2048 septets (expected 2048): OK
gsm_7bit_encode_n(len=2048) used 1792 octets in the buffer (expected 1792): OK
gsm_7bit_encode_n(len=1024) processed 1024 septets (expected 1024): OK
gsm_7bit_encode_n(len=1024) used 896 octets in the buffer (expected 896): OK
gsm_7bit_encode_n(len=555) processed 555 septets (expected 555): OK
gsm_7bit_encode_n(len=555) used 486 octets in the buffer (expected 486): OK
gsm_7bit_encode_n(len=512) processed 512 septets (expected 512): OK
gsm_7bit_encode_n(len=512) used 448 octets in the buffer (expected 448): OK
gsm_7bit_encode_n(len=260) processed 260 septets (expected 260): OK
gsm_7bit_encode_n(len=260) used 228 octets in the buffer (expected 228): OK
gsm_7bit_encode_n(len=255) processed 255 septets (expected 255): OK
gsm_7bit_encode_n(len=255) used 224 octets in the buffer (expected 224): OK
gsm_7bit_encode_n(len=250) processed 250 septets (expected 250): OK
gsm_7bit_encode_n(len=250) used 219 octets in the buffer (expected 219): OK
OK
