### Question:
FieldPropertiesRenderer implements IsWidget { public void onFieldBindingChange(final String bindingExpression) { fieldCopy = helper.onFieldBindingChange(fieldCopy, bindingExpression); render(); } @Inject  FieldPropertiesRenderer(FieldPropertiesRendererView view,
                                   DynamicFormModelGenerator dynamicFormModelGenerator,
                                   @StaticFormModel DataBindingEditor staticDataBindingEditor,
                                   @DynamicFormModel DataBindingEditor dynamicDataBindingEditor); void render(final FieldPropertiesRendererHelper helper); @SuppressWarnings("unchecked") FieldDefinition doCopy(final FieldDefinition originalField); void onPressOk(); void onClose(); void onFieldTypeChange(final String typeCode); void onFieldBindingChange(final String bindingExpression); FieldPropertiesRendererView getView(); FieldDefinition getCurrentField(); List<String> getCompatibleFieldTypes(); @Override Widget asWidget();  }### Answer:
@Test public void testOnFieldBindingChange() { testRender(); when(helper.onFieldBindingChange(any(), anyString())).thenReturn(lastNameField); renderer.onFieldBindingChange(lastNameField.getId()); verify(helper).onFieldBindingChange(renderer.fieldCopy, lastNameField.getId()); verify(renderer, atLeastOnce()).render(); }