private BindingContext bindingContextOfThrowingExceptionWhenRetrievingPropertyValueModel() {
    when(bindingContext.getPropertyValueModel(anyString())).thenThrow(new RuntimeException());
    when(bindingContext.getReadOnlyPropertyValueModel(anyString()))
        .thenThrow(new RuntimeException());
    when(bindingContext.getDataSetPropertyValueModel(anyString()))
        .thenThrow(new RuntimeException());

    return bindingContext;
  }
  private void bindAttribute(boolean twoWayBinding, boolean preInitializeView) {
    if (twoWayBinding)
      when(bindingContext.<Integer>getPropertyValueModel(PROPERTY_NAME)).thenReturn(valueModel);
    else
      when(bindingContext.<Integer>getReadOnlyPropertyValueModel(PROPERTY_NAME))
          .thenReturn(valueModel);

    when(bindingContext.shouldPreInitializeViews()).thenReturn(preInitializeView);

    if (preInitializeView) {
      attribute.preInitializeView(bindingContext);
    }
    attribute.bindTo(bindingContext);
  }