### Question:
IbftBlockHeaderValidationRulesetFactory { public static BlockHeaderValidator.Builder ibftBlockHeaderValidator( final long secondsBetweenBlocks) { return createValidator(secondsBetweenBlocks, true); }  static BlockHeaderValidator.Builder ibftBlockHeaderValidator(
      final long secondsBetweenBlocks); static BlockHeaderValidator.Builder ibftProposedBlockValidator(
      final long secondsBetweenBlocks);  }### Answer:
@Test public void ibftValidateHeaderPasses() { final KeyPair proposerKeyPair = KeyPair.generate(); final Address proposerAddress = Address.extract(Hash.hash(proposerKeyPair.getPublicKey().getEncodedBytes())); final List<Address> validators = singletonList(proposerAddress); final BlockHeader parentHeader = buildBlockHeader(1, proposerKeyPair, validators, null); final BlockHeader blockHeader = buildBlockHeader(2, proposerKeyPair, validators, parentHeader); final BlockHeaderValidator validator = IbftBlockHeaderValidationRulesetFactory.ibftBlockHeaderValidator(5).build(); assertThat( validator.validateHeader( blockHeader, parentHeader, setupContextWithValidators(validators), HeaderValidationMode.FULL)) .isTrue(); }
@Test public void ibftValidateHeaderFails() { final KeyPair proposerKeyPair = KeyPair.generate(); final Address proposerAddress = Address.extract(Hash.hash(proposerKeyPair.getPublicKey().getEncodedBytes())); final List<Address> validators = singletonList(proposerAddress); final BlockHeader parentHeader = buildBlockHeader(1, proposerKeyPair, validators, null); final BlockHeader blockHeader = buildBlockHeader(2, proposerKeyPair, validators, null); final BlockHeaderValidator validator = IbftBlockHeaderValidationRulesetFactory.ibftBlockHeaderValidator(5).build(); assertThat( validator.validateHeader( blockHeader, parentHeader, setupContextWithValidators(validators), HeaderValidationMode.FULL)) .isFalse(); }