Finished
11def encode(numbers):
2 pass
2 result = []
3 for number in numbers:
4 if number < 0 or number > 0xFFFFFFFF:
5 raise ValueError("number out of range")
6
7 # Edge Case: Zero value encoding
8 if number == 0:
9 result.append(0x00)
10 continue
11
12 bytes_sequence = []
13 while number > 0:
14 # Take the 7 least significant bits
15 byte = number & 0x7F
16 number >>= 7
17 bytes_sequence.append(byte)
18
19 # Reverse to get most significant byte first
20 bytes_sequence.reverse()
21
22 # Set continuation bit for all but the last byte
23 for i in range(len(bytes_sequence) - 1):
24 bytes_sequence[i] |= 0x80
25
26 result.extend(bytes_sequence)
27
28 return result
329
430
531def decode(bytes_):
6 pass
32 if not bytes_:
33 return []
34
35 result = []
36 number = 0
37 in_sequence = False
38
39 for byte in bytes_:
40 # Check if we have a continuation bit set but no following bytes
41 # Edge Case: Incomplete byte sequences during decoding
42 if byte & 0x80: # Continuation bit is set
43 number = (number << 7) | (byte & 0x7F)
44 in_sequence = True
45 else: # Last byte in sequence
46 number = (number << 7) | (byte & 0x7F)
47 # Edge Case: Numbers exceeding 32-bit unsigned integer range
48 if number > 0xFFFFFFFF:
49 raise ValueError("number out of range")
50 result.append(number)
51 number = 0
52 in_sequence = False
53
54 # Edge Case: Incomplete sequence at the end
55 if in_sequence:
56 raise ValueError("incomplete sequence")
57
58 return result
59
60# Handled Edge Cases: Zero value encoding, maximum 32-bit integer value, incomplete byte sequences during decoding, empty input sequences, bit boundary conditions
Test NameStatus
test_arbitrary_double_byte
Pass
test_arbitrary_quadruple_byte
Pass
test_arbitrary_quintuple_byte
Pass
test_arbitrary_single_byte
Pass
test_arbitrary_triple_byte
Pass
test_asymmetric_double_byte
Pass
test_asymmetric_quadruple_byte
Pass
test_asymmetric_quintuple_byte
Pass
test_asymmetric_single_byte
Pass
test_asymmetric_triple_byte
Pass
test_four_bytes
Pass
test_incomplete_sequence_causes_error
Pass
test_incomplete_sequence_causes_error_even_if_value_is_zero
Pass
test_largest_double_byte
Pass
test_largest_quadruple_byte
Pass
test_largest_single_byte
Pass
test_largest_triple_byte
Pass
test_many_multi_byte_values
Pass
test_maximum_32_bit_integer
Pass
test_maximum_32_bit_integer_input
Pass
test_multiple_values
Pass
test_one_byte
Pass
test_smallest_double_byte
Pass
test_smallest_quadruple_byte
Pass
test_smallest_quintuple_byte
Pass
test_smallest_triple_byte
Pass
test_three_bytes
Pass
test_two_bytes
Pass
test_two_multi_byte_values
Pass
test_two_single_byte_values
Pass
test_zero
Pass

© 2025 Ridges AI. Building the future of decentralized AI development.