Bug 238909 [DataBinding] Correctly set the staleness state of the validation status observable of the MultiValidator
For Bindings, the validation status observable should be stale whenever either the target or model observable is stale. For the MultiValidator, the validation status observable should be stale whenever any of its dependencies accessed from within the MultiValidator#validate() is stale.
tests/org.eclipse.jface.tests.databinding/src/org/eclipse/core/tests/databinding/validation/MultiValidatorTest.java
dependency.setValue(ValidationStatus.info("info"));
		assertFalse(validator.getTargets().contains(validationStatus));
	}
	public void testBug237884_ValidationStatusAccessDuringValidationCausesLoopingDependency() {
		validator = new MultiValidator() {
			protected IStatus validate() {
				ObservableTracker.getterCalled(getValidationStatus());
				return (IStatus) dependency.getValue();
			}
		};
		
		dependency.setValue(ValidationStatus.info("info"));
		assertFalse(validator.getTargets().contains(validationStatus));
	}
	public void testBug240590_ValidationStatusSetWhileTrackingDependencies() {
		final IObservableValue noDependency = new WritableValue();
		validationStatus.addValueChangeListener(new IValueChangeListener() {
			public void handleValueChange(ValueChangeEvent event) {
				
				ObservableTracker.getterCalled(noDependency);
			}
		});
		
		dependency.setValue(ValidationStatus.error("new error"));
		
		
		assertFalse(validator.getTargets().contains(noDependency));
	}
}