Iterator failures = database.getMetadataIterator();
assertTrue( "check there is a failure", failures.hasNext() );
MetadataResults results = (MetadataResults) failures.next();
failures = results.getFailures().iterator();
assertTrue( "check there is a failure", failures.hasNext() );
ResultReason result = (ResultReason) failures.next();
assertMetadata( results );
assertEquals( "check failure reason", "First Failure Reason", result.getReason() );
assertEquals( "check failure parameters", PROCESSOR, result.getProcessor() );
assertEquals( "check failure parameters", PROBLEM, result.getProblem() );
assertTrue( "must have 2nd failure", failures.hasNext() );
result = (ResultReason) failures.next();
assertEquals( "check failure reason", "Second Failure Reason", result.getReason() );
assertEquals( "check failure parameters", PROCESSOR, result.getProcessor() );
assertEquals( "check failure parameters", PROBLEM, result.getProblem() );
assertFalse( "no more failures", failures.hasNext() );
}