@Test
public final void test_isValidEnumElements_failures() {

	// enum element collection should not have nulls in it
	List<RangerEnumElementDef> input = _utils.createEnumElementDefs(new String[] { "simple", "kerberos" });
	input.add(null);
	assertFalse(_validator.isValidEnumElements(input, _failures, "anEnum"));
	_utils.checkFailureForMissingValue(_failures, "enum element", "anEnum");
	// element names can't be null/empty
	input = _utils.createEnumElementDefs(new String[] { "simple", "kerberos", null });
	_failures.clear(); assertFalse(_validator.isValidEnumElements(input, _failures, "anEnum"));
	_utils.checkFailureForMissingValue(_failures, "enum element name", "anEnum");
	input = _utils.createEnumElementDefs(new String[] { "simple", "kerberos", "		" }); // two tabs
	_failures.clear(); assertFalse(_validator.isValidEnumElements(input, _failures, "anEnum"));
	_utils.checkFailureForMissingValue(_failures, "enum element name", "anEnum");
	
	// element names should be distinct - case insensitive
	input = _utils.createEnumElementDefs(new String[] { "simple", "kerberos", "kerberos" }); // duplicate name - exact match
	_failures.clear(); assertFalse(_validator.isValidEnumElements(input, _failures, "anEnum"));
	_utils.checkFailureForSemanticError(_failures, "enum element name", "kerberos");
	
	input = _utils.createEnumElementDefs(new String[] { "simple", "kerberos", "kErbErOs" }); // duplicate name - different case
	_failures.clear(); assertFalse(_validator.isValidEnumElements(input, _failures, "anEnum"));
	_utils.checkFailureForSemanticError(_failures, "enum element name", "kErbErOs");
}