*/
public class CayenneDataObjectValidationTest extends CayenneCase {
public void testValidateForSaveMandatoryToOneMissing() throws Exception {
DataContext context = createDataContext();
Exhibit exhibit = context.newObject(Exhibit.class);
exhibit.setOpeningDate(new Date());
exhibit.setClosingDate(new Date());
ValidationResult result = new ValidationResult();
exhibit.validateForSave(result);
assertTrue("Validation of 'toGallery' should've failed.", result.hasFailures());
assertTrue(result.hasFailures(exhibit));
List failures = result.getFailures();
assertEquals(1, failures.size());
BeanValidationFailure failure = (BeanValidationFailure) failures.get(0);
assertEquals(Exhibit.TO_GALLERY_PROPERTY, failure.getProperty());
// fix the problem and see if it goes away
Gallery gallery = context.newObject(Gallery.class);
exhibit.setToGallery(gallery);
result = new ValidationResult();
exhibit.validateForSave(result);
assertFalse("No failures expected: " + result, result.hasFailures());
}