List of usage examples for org.eclipse.jface.databinding.conformance.util ValueChangeEventTracker observe
public static <T> ValueChangeEventTracker<T> observe(IObservableValue<T> observable)
From source file:org.eclipse.core.tests.databinding.validation.MultiValidatorTest.java
License:Open Source License
public void testValidationStaleness() { ValueChangeEventTracker validationChangeCounter = ValueChangeEventTracker.observe(validationStatus); StaleEventTracker validationStaleCounter = StaleEventTracker.observe(validationStatus); // Assert initial state. assertFalse(validationStatus.isStale()); assertEquals(0, validationChangeCounter.count); assertEquals(0, validationStaleCounter.count); // Change to a stale state. dependency.setStale(true);/*from www. j a v a2 s. c o m*/ assertTrue(validationStatus.isStale()); assertEquals(0, validationChangeCounter.count); assertEquals(1, validationStaleCounter.count); // +1 // The validation status is already stale so even if it gets another // stale event from its dependencies, it should not propagate that // event. dependency.fireStale(); assertTrue(validationStatus.isStale()); assertEquals(0, validationChangeCounter.count); assertEquals(1, validationStaleCounter.count); // Change the validation status while remaining stale. dependency.setValue(ValidationStatus.error("e1")); assertTrue(validationStatus.isStale()); assertEquals(1, validationChangeCounter.count); // +1 assertEquals(1, validationStaleCounter.count); // Move back to a non-stale state. dependency.setStale(false); assertFalse(dependency.isStale()); assertFalse(validationStatus.isStale()); assertEquals(2, validationChangeCounter.count); // +1 assertEquals(1, validationStaleCounter.count); }
From source file:org.eclipse.core.tests.internal.databinding.beans.JavaBeanObservableValueTest.java
License:Open Source License
public void testSetBeanProperty_CorrectForNullOldAndNewValues() { // The java bean spec allows the old and new values in a // PropertyChangeEvent to // be null, which indicates that an unknown change occured. // This test ensures that JavaBeanObservableValue fires the correct // value diff // even if the bean implementor is lazy :-P Bean bean = new AnnoyingBean(); bean.setValue("old"); IObservableValue observable = BeansObservables.observeValue(bean, "value"); ValueChangeEventTracker tracker = ValueChangeEventTracker.observe(observable); bean.setValue("new"); assertEquals(1, tracker.count);/*ww w . ja va2 s . c om*/ assertEquals("old", tracker.event.diff.getOldValue()); assertEquals("new", tracker.event.diff.getNewValue()); }
From source file:org.eclipse.core.tests.internal.databinding.beans.JavaBeanObservableValueTest.java
License:Open Source License
public void testSetBeanPropertyOutsideRealm_FiresEventInsideRealm() { Bean bean = new Bean("old"); CurrentRealm realm = new CurrentRealm(true); IObservableValue observable = BeansObservables.observeValue(realm, bean, "value"); ValueChangeEventTracker tracker = ValueChangeEventTracker.observe(observable); realm.setCurrent(false);/* ww w.ja va 2 s . c o m*/ bean.setValue("new"); assertEquals(0, tracker.count); realm.setCurrent(true); assertEquals(1, tracker.count); assertEquals(Diffs.createValueDiff("old", "new"), tracker.event.diff); }
From source file:org.eclipse.core.tests.internal.databinding.observable.DelayedObservableValueTest.java
License:Open Source License
public void testSetValue_FiresValueChangeEvent() { ValueChangeEventTracker targetTracker = ValueChangeEventTracker.observe(target); ValueChangeEventTracker delayedTracker = ValueChangeEventTracker.observe(delayed); delayed.setValue(newValue);//from w w w . j a va2s . c om assertEquals(1, targetTracker.count); assertEquals(oldValue, targetTracker.event.diff.getOldValue()); assertEquals(newValue, targetTracker.event.diff.getNewValue()); assertEquals(1, delayedTracker.count); assertEquals(oldValue, delayedTracker.event.diff.getOldValue()); assertEquals(newValue, delayedTracker.event.diff.getNewValue()); }
From source file:org.eclipse.core.tests.internal.databinding.observable.DelayedObservableValueTest.java
License:Open Source License
private void assertFiresPendingValueChange(Runnable runnable) { ValueChangeEventTracker tracker = ValueChangeEventTracker.observe(delayed); target.setValue(newValue);//from w w w. j a v a2 s. c o m assertTrue(delayed.isStale()); assertEquals(0, tracker.count); runnable.run(); assertFalse(delayed.isStale()); assertEquals(1, tracker.count); assertEquals(oldValue, tracker.event.diff.getOldValue()); assertEquals(newValue, tracker.event.diff.getNewValue()); }
From source file:org.eclipse.core.tests.internal.databinding.observable.ValidatedObservableValueTest.java
License:Open Source License
public void testSetValue_SingleValueChangeEvent() { ValueChangeEventTracker tracker = ValueChangeEventTracker.observe(validated); validated.setValue(newValue);//from w ww .ja va2 s . c om assertEquals(1, tracker.count); assertEquals(oldValue, tracker.event.diff.getOldValue()); assertEquals(newValue, tracker.event.diff.getNewValue()); }
From source file:org.eclipse.core.tests.internal.databinding.observable.ValidatedObservableValueTest.java
License:Open Source License
public void testSetValue_SingleValueChangeEventWhileInvalid() { ValueChangeEventTracker tracker = ValueChangeEventTracker.observe(validated); validationStatus.setValue(ValidationStatus.error("error")); validated.setValue(newValue);//from w w w.j a va 2 s . c o m assertEquals(1, tracker.count); assertEquals(oldValue, tracker.event.diff.getOldValue()); assertEquals(newValue, tracker.event.diff.getNewValue()); }
From source file:org.eclipse.core.tests.internal.databinding.observable.ValidatedObservableValueTest.java
License:Open Source License
public void testSetValue_FiresSingleValueChangeEventWithTargetOverride() { ValueChangeEventTracker tracker = ValueChangeEventTracker.observe(validated); Object overrideValue = new Object(); target.overrideValue = overrideValue; validated.setValue(newValue);/*from w w w .j a va 2 s. c om*/ assertEquals(1, tracker.count); assertEquals(oldValue, tracker.event.diff.getOldValue()); assertEquals(overrideValue, tracker.event.diff.getNewValue()); }
From source file:org.eclipse.core.tests.internal.databinding.observable.ValidatedObservableValueTest.java
License:Open Source License
public void testSetValue_FiresValueChangeEvent() { ValueChangeEventTracker targetTracker = ValueChangeEventTracker.observe(target); ValueChangeEventTracker validatedTracker = ValueChangeEventTracker.observe(validated); validated.setValue(newValue);/*from w ww .j a v a2 s . c om*/ assertEquals(1, targetTracker.count); assertEquals(oldValue, targetTracker.event.diff.getOldValue()); assertEquals(newValue, targetTracker.event.diff.getNewValue()); assertEquals(1, validatedTracker.count); assertEquals(oldValue, validatedTracker.event.diff.getOldValue()); assertEquals(newValue, validatedTracker.event.diff.getNewValue()); }