import org.apache.isis.core.progmodel.facets.properties.mandatory.annotation.OptionalAnnotationForPropertyFacetFactory;
public class OptionalAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
public void testOptionalAnnotationPickedUpOnProperty() {
final OptionalAnnotationForPropertyFacetFactory facetFactory = new OptionalAnnotationForPropertyFacetFactory();
class Customer {
@SuppressWarnings("unused")
@Optional
public String getFirstName() {
return null;
}
}
final Method method = findMethod(Customer.class, "getFirstName");
facetFactory.process(new ProcessMethodContext(Customer.class, method, methodRemover, facetedMethod));
final Facet facet = facetedMethod.getFacet(MandatoryFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof MandatoryFacetInvertedByOptionalForProperty);
}