### Question:
ELResolverDecorator extends ELResolver { @Override public Object invoke(ELContext context, Object base, Object method, Class<?>[] paramTypes, Object[] params) { return this.resolver.invoke(context, base, method, paramTypes, params); } ELResolverDecorator(ELResolver resolver); @Override Object getValue(ELContext context, Object base, Object property); @Override Object invoke(ELContext context, Object base, Object method, Class<?>[] paramTypes, Object[] params); @Override Class<?> getType(ELContext context, Object base, Object property); @Override void setValue(ELContext context, Object base, Object property, Object value); @Override boolean isReadOnly(ELContext context, Object base, Object property); @Override Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base); @Override Class<?> getCommonPropertyType(ELContext context, Object base);  }### Answer:
@Test public void shouldDecorateInvoke() throws Exception { given(this.decorated.invoke(this.context, this.base, this.method, this.paramTypes, this.params)).willReturn( this.value); Object actual = this.decorator.invoke(this.context, this.base, this.method, this.paramTypes, this.params); assertThat(actual, is(this.value)); verify(this.decorated).invoke(this.context, this.base, this.method, this.paramTypes, this.params); }