@Test
public void testValidateAttributesAgainstBusinessObjectDataAttributeDefinitionsRequiredAttributeIsMissing()
{

    // Create a business object data attribute definition for a required attribute.
    BusinessObjectDataAttributeDefinitionEntity businessObjectDataAttributeDefinitionEntity = new BusinessObjectDataAttributeDefinitionEntity();
    businessObjectDataAttributeDefinitionEntity.setName(ATTRIBUTE_NAME);
    // Try to call the method under test.
    try
    {
        attributeDaoHelper
            .validateAttributesAgainstBusinessObjectDataAttributeDefinitions(NO_ATTRIBUTES, Arrays.asList(businessObjectDataAttributeDefinitionEntity));
        fail();
    }
    catch (IllegalArgumentException e)
    {
        assertEquals(String
            .format("The business object format has a required attribute \"%s\" which was not specified or has a value which is blank.", ATTRIBUTE_NAME),
            e.getMessage());
    }
    // Verify the external calls.
    verifyNoMoreInteractionsHelper();
}