### Question:
StandardLookup extends AcmLookup<StandardLookupEntry> { @Override @JsonIgnore public LookupValidationResult validate() { return validate(null); }  @Override @JsonIgnore LookupValidationResult validate();  }### Answer:
@Test @SuppressWarnings("unchecked") public void testValidate() { String testLookupName = "testLookup"; List<StandardLookupEntry> validEntries = new ArrayList<>(); validEntries.add(new StandardLookupEntry("key1", "value1")); validEntries.add(new StandardLookupEntry("key2", "value2")); List<StandardLookupEntry> duplicateKeyEntries = new ArrayList<>(); duplicateKeyEntries.add(new StandardLookupEntry("key1", "value1")); duplicateKeyEntries.add(new StandardLookupEntry("key1", "value2")); List<StandardLookupEntry> emptyValueEntries = new ArrayList<>(); emptyValueEntries.add(new StandardLookupEntry("key1", "")); emptyValueEntries.add(new StandardLookupEntry("key2", "value2")); List<StandardLookupEntry> duplicateValuesEntries = new ArrayList<>(); duplicateValuesEntries.add(new StandardLookupEntry("key1", "value1")); duplicateValuesEntries.add(new StandardLookupEntry("key2", "value1")); Object[][] testData = { { validEntries, true, null }, { duplicateKeyEntries, false, "Duplicate key found in '" + testLookupName + "' lookup! [key : key1]" }, { emptyValueEntries, false, "Empty value found in '" + testLookupName + "' lookup!" }, { duplicateValuesEntries, false, "Duplicate value found in '" + testLookupName + "' lookup! [values : value1]" } }; for (Object[] testDatum : testData) { List<StandardLookupEntry> entries = (List<StandardLookupEntry>) testDatum[0]; standardLookup.setEntries(entries); standardLookup.setName(testLookupName); LookupValidationResult res = standardLookup.validate(); assertEquals(testDatum[1], res.isValid()); assertEquals(testDatum[2], res.getErrorMessage()); } }