@Test
public void getCharacterRules_canCreateCharacterRulesWithoutLowercase() {

  final StringGenerationParameters generationParameters = new StringGenerationParameters();
  generationParameters.setExcludeLower(true);
  final List<CharacterRule> characterRules = CharacterRuleProvider
    .getCharacterRules(generationParameters);
  assertThat(characterRules, iterableWithSize(2));
  assertThat(characterRules, containsInAnyOrder(
    usesCharacters(EnglishCharacterData.UpperCase),
    usesCharacters(EnglishCharacterData.Digit)
  ));
  assertThat(characterRules, not(containsInAnyOrder(
    usesCharacters(EnglishCharacterData.LowerCase),
    usesCharacters(CredHubCharacterData.SPECIAL),
    usesCharacters(CredHubCharacterData.HEX)
  )));
}