/*
* Beanfabrics Framework Copyright (C) by Michael Karneim, beanfabrics.org
* Use is subject to license terms. See license.txt.
*/
package org.beanfabrics.model;
import static org.junit.Assert.assertEquals;
import junit.framework.JUnit4TestAdapter;
import org.beanfabrics.validation.ValidationRule;
import org.beanfabrics.validation.ValidationState;
import org.junit.Test;
/**
* @author Michael Karneim
*/
public class AbstractValuePMTest {
public static junit.framework.Test suite() {
return new JUnit4TestAdapter(AbstractValuePMTest.class);
}
AbstractValuePM create(final boolean isEmpty) {
AbstractValuePM result = new AbstractValuePM() {
public boolean isEmpty() {
return isEmpty;
}
};
return result;
}
@Test
public void setMandatory() {
AbstractValuePM pM = create(true);
pM.setMandatory(true);
assertEquals("pM.isMandatory()", true, pM.isMandatory());
pM.setMandatory(false);
assertEquals("pM.isMandatory()", false, pM.isMandatory());
}
@Test
public void setEditable() {
AbstractValuePM pM = create(true);
pM.setEditable(true);
assertEquals("pM.isEditable()", true, pM.isEditable());
pM.setEditable(false);
assertEquals("pM.isEditable()", false, pM.isEditable());
}
@Test
public void isValid() {
AbstractValuePM pM = create(true);
pM.setMandatory(true);
assertEquals("pM.isValid()", false, pM.isValid());
pM.setMandatory(false);
assertEquals("pM.isValid()", true, pM.isValid());
}
@Test
public void isValid2() {
AbstractValuePM pM = create(true);
pM.getValidator().add(new ValidationRule() {
public ValidationState validate() {
return new ValidationState("Always invalid");
}
});
pM.setMandatory(false);
assertEquals("pM.isValid()", true, pM.isValid());
}
}