Bug 118429 [DataBinding] Validation should use IStatus, not just Strings
In order to use data binding in Workbench or IDE dialogs and preference pages, we need validation in terms of IStatus objects. Using strings is too simplistic. For example, look at the wizard for creating a new class. You will get a warning if the class name does not start with an uppercase letter, or if you don't provide a package name, but you will still be able to click "Finish" to proceed anyway. (Note that IStatus is currently not on the classpath, we need to re-introduce the dependency on org.eclipse.equinox.common, which contains IStatus etc.)
tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/DatabindingContextTest.java
.getTargetToModelConverters());
		assertConverterType(bs, 1, ConvertString2Byte.class, bs
				.getTargetToModelConverters());
		assertConverterType(bs, 2, IdentityConverter.class, bs
				.getTargetToModelConverters());
	}
	public void testWithDefaults() throws Exception {
		DataBindingContext dbc = new DataBindingContext();
		assertNotNull("context was not initialized with defaults", dbc
				.createConverter(String.class, String.class));
	}
	private void assertConverterType(BindSpec bs, int element, Class clazz,
			IConverter[] converters) {
		assertEquals("model2target[" + element + "] = identity", clazz,
				converters[element].getClass());
	}
	/**
	 * Asserts that ValidationError is populated and change events are fired
	 * when a Binding that is associated with a context is in error.
	 * 
	 * @throws Exception
	 */
	public void testValidationError() throws Exception {
		WritableValue targetObservable = new WritableValue(String.class);
		WritableValue modelObservable = new WritableValue(String.class);
		final String errorMessage = "error";
		DataBindingContext dbc = new DataBindingContext();
		ValueChangeCounter errorCounter = new ValueChangeCounter();
		ListChangeCounter errorsCounter = new ListChangeCounter();
		IObservableValue error = dbc.getValidationError();