### Question:
CliqueProposerSelector { public Address selectProposerForNextBlock(final BlockHeader parentHeader) { final VoteTally parentVoteTally = voteTallyCache.getVoteTallyAfterBlock(parentHeader); final List<Address> validatorSet = new ArrayList<>(parentVoteTally.getValidators()); final long nextBlockNumber = parentHeader.getNumber() + 1L; final int indexIntoValidators = (int) (nextBlockNumber % validatorSet.size()); return validatorSet.get(indexIntoValidators); } CliqueProposerSelector(final VoteTallyCache voteTallyCache); Address selectProposerForNextBlock(final BlockHeader parentHeader);  }### Answer:
@Test public void proposerForABlockIsBasedOnModBlockNumber() { final BlockHeaderTestFixture headerBuilderFixture = new BlockHeaderTestFixture(); for (int prevBlockNumber = 0; prevBlockNumber < 10; prevBlockNumber++) { headerBuilderFixture.number(prevBlockNumber); final CliqueProposerSelector selector = new CliqueProposerSelector(voteTallyCache); final Address nextProposer = selector.selectProposerForNextBlock(headerBuilderFixture.buildHeader()); assertThat(nextProposer) .isEqualTo(validatorList.get((prevBlockNumber + 1) % validatorList.size())); } }