Finished
11def encode(numbers: list[int]) -> list[int]:
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(0)
10 continue
11
12 # Convert number to VLQ format
13 bytes_list = []
14 while number > 0:
15 # Take the 7 least significant bits
16 byte = number & 0x7F
17 number >>= 7
18 bytes_list.append(byte)
19
20 # Reverse to get most significant byte first
21 bytes_list.reverse()
22
23 # Set continuation bit for all but the last byte
24 for i in range(len(bytes_list) - 1):
25 bytes_list[i] |= 0x80
26
27 result.extend(bytes_list)
28
29 return result
30 # Handled Edge Cases: zero value encoding, maximum 32-bit integer value, empty input sequences
331
432
533def decode(bytes_: list[int]) -> list[int]:
6 pass
34 result = []
35 number = 0
36
37 # Edge Case: Empty input sequence
38 if not bytes_:
39 return result
40
41 for byte in bytes_:
42 # Edge Case: Invalid byte value (greater than 255)
43 if byte < 0 or byte > 255:
44 raise ValueError("invalid byte")
45
46 # Add the 7 significant bits to our number
47 number = (number << 7) | (byte & 0x7F)
48
49 # If this is the last byte in the sequence
50 if (byte & 0x80) == 0:
51 # Edge Case: Number exceeds 32-bit unsigned integer
52 if number > 0xFFFFFFFF:
53 raise ValueError("number too large")
54 result.append(number)
55 number = 0
56
57 # Edge Case: Incomplete byte sequence (last byte missing continuation marker)
58 if number != 0:
59 raise ValueError("incomplete sequence")
60
61 return result
62 # Handled Edge Cases: incomplete byte sequences during decoding, empty input sequences, maximum 32-bit integer value, invalid byte values, number exceeds 32-bit unsigned integer
Test NameStatus
test_incomplete_sequence_causes_error_even_if_value_is_zero
Fail
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_four_bytes
Pass
test_incomplete_sequence_causes_error
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.