final ActionInvocationFacetViaMethod actionInvocationFacetViaMethod = (ActionInvocationFacetViaMethod) facet;
assertEquals(customerSpec, actionInvocationFacetViaMethod.getOnType());
}
public void testInstallsParameterDefaultsMethodAndRemovesMethod() {
final ActionParameterDefaultsFacetFactory facetFactory = new ActionParameterDefaultsFacetFactory();
facetFactory.setSpecificationLookup(reflector);
reflector.setLoadSpecificationStringReturn(voidSpec);
class Customer {
@SuppressWarnings("unused")
public void someAction(final int x, final long y) {
}
@SuppressWarnings("unused")
public int default0SomeAction() {
return 0;
}
@SuppressWarnings("unused")
public long default1SomeAction() {
return 0;
}
}
final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class, long.class });
final Method default0Method = findMethod(Customer.class, "default0SomeAction", new Class[] {});
final Method default1Method = findMethod(Customer.class, "default1SomeAction", new Class[] {});
final FacetedMethod facetHolderWithParms = FacetedMethod.createForAction(Customer.class, actionMethod);
facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetHolderWithParms));
final Facet facet0 = facetHolderWithParms.getParameters().get(0).getFacet(ActionParameterDefaultsFacet.class);
assertNotNull(facet0);
assertTrue(facet0 instanceof ActionParameterDefaultsFacetViaMethod);
final ActionParameterDefaultsFacetViaMethod actionDefaultFacetViaMethod0 = (ActionParameterDefaultsFacetViaMethod) facet0;