123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import random
- import pytest
- from aphrodite.processing.block.common import RefCounter
- @pytest.mark.parametrize("seed", list(range(20)))
- @pytest.mark.parametrize("num_incrs", [1, 100])
- @pytest.mark.parametrize("num_blocks", [1024])
- def test_incr(seed: int, num_incrs: int, num_blocks: int):
- random.seed(seed)
- all_block_indices = list(range(num_blocks))
- counter = RefCounter(all_block_indices=all_block_indices)
- block_id = random.randint(0, num_blocks - 1)
- for i in range(num_incrs):
- value = counter.incr(block_id)
- assert value == i + 1
- @pytest.mark.parametrize("seed", list(range(20)))
- @pytest.mark.parametrize("num_incrs", [1, 100])
- @pytest.mark.parametrize("num_blocks", [1024])
- def test_incr_decr(seed: int, num_incrs: int, num_blocks: int):
- random.seed(seed)
- all_block_indices = list(range(num_blocks))
- counter = RefCounter(all_block_indices=all_block_indices)
- block_id = random.randint(0, num_blocks - 1)
- for i in range(num_incrs):
- value = counter.incr(block_id)
- assert value == i + 1
- for i in range(num_incrs):
- value = counter.decr(block_id)
- assert value == num_incrs - (i + 1)
- with pytest.raises(AssertionError):
- counter.decr(block_id)
|