Test that iteration maintains sorted order.
()
| 173 | |
| 174 | |
| 175 | def test_iteration_order(): |
| 176 | """Test that iteration maintains sorted order.""" |
| 177 | print("Testing iteration order...") |
| 178 | tree = bplustree_c.BPlusTree(capacity=4) |
| 179 | |
| 180 | # Insert in random order |
| 181 | keys_to_insert = list(range(50, 0, -1)) # Reverse order |
| 182 | for key in keys_to_insert: |
| 183 | tree[key] = key * 2 |
| 184 | |
| 185 | # Check that keys() returns sorted order |
| 186 | keys = list(tree.keys()) |
| 187 | expected_keys = list(range(1, 51)) |
| 188 | assert ( |
| 189 | keys == expected_keys |
| 190 | ), f"Keys not in sorted order. Expected {expected_keys[:10]}..., got {keys[:10]}..." |
| 191 | |
| 192 | # Check that items() returns sorted order |
| 193 | items = list(tree.items()) |
| 194 | for i, (key, value) in enumerate(items): |
| 195 | expected_key = i + 1 |
| 196 | expected_value = expected_key * 2 |
| 197 | assert ( |
| 198 | key == expected_key and value == expected_value |
| 199 | ), f"Item {i} should be ({expected_key}, {expected_value}), got ({key}, {value})" |
| 200 | |
| 201 | print("✓ Iteration order tests passed") |
| 202 | |
| 203 | |
| 204 | def test_large_capacity(): |