|
|
@@ -75,7 +75,7 @@ def test_free():
|
|
|
|
|
|
assert allocator.allocate() == 0
|
|
|
assert allocator.is_allocated(0)
|
|
|
- allocator.free(0)
|
|
|
+ assert allocator.free(0)
|
|
|
assert not allocator.is_allocated(0)
|
|
|
|
|
|
|
|
|
@@ -87,7 +87,7 @@ def test_free_reallocation():
|
|
|
assert allocator.is_allocated(i)
|
|
|
|
|
|
for i in range(1, 5 + 1):
|
|
|
- allocator.free(i)
|
|
|
+ assert allocator.free(i)
|
|
|
|
|
|
for i in range(1, 5 + 1):
|
|
|
assert not allocator.is_allocated(i)
|
|
|
@@ -96,6 +96,23 @@ def test_free_reallocation():
|
|
|
assert allocator.allocate() == IndexEnd
|
|
|
|
|
|
|
|
|
+def test_free_unallocated():
|
|
|
+ allocator = UniqueIdAllocator(0, 2)
|
|
|
+
|
|
|
+ assert allocator.allocate() == 0
|
|
|
+ assert allocator.free(0)
|
|
|
+
|
|
|
+ for i in range(0, 2 + 1):
|
|
|
+ assert not allocator.free(i)
|
|
|
+
|
|
|
+
|
|
|
+def test_free_bounds():
|
|
|
+ allocator = UniqueIdAllocator(1, 3)
|
|
|
+
|
|
|
+ assert not allocator.free(0) # Out of range, left side
|
|
|
+ assert not allocator.free(4) # Out of range, right side
|
|
|
+
|
|
|
+
|
|
|
def test_free_reallocation_mid():
|
|
|
allocator = UniqueIdAllocator(1, 5)
|
|
|
|
|
|
@@ -103,8 +120,8 @@ def test_free_reallocation_mid():
|
|
|
assert allocator.allocate() == i
|
|
|
assert allocator.is_allocated(i)
|
|
|
|
|
|
- allocator.free(2)
|
|
|
- allocator.free(3)
|
|
|
+ assert allocator.free(2)
|
|
|
+ assert allocator.free(3)
|
|
|
|
|
|
assert allocator.allocate() == 2
|
|
|
assert allocator.allocate() == 3
|
|
|
@@ -115,7 +132,7 @@ def test_free_initial_reserve_id():
|
|
|
allocator = UniqueIdAllocator(1, 3)
|
|
|
|
|
|
allocator.initial_reserve_id(1)
|
|
|
- allocator.free(1)
|
|
|
+ assert allocator.free(1)
|
|
|
assert allocator.allocate() == 2
|
|
|
assert allocator.allocate() == 3
|
|
|
assert allocator.allocate() == 1
|