@Test public void testObservableValue() { final ObservableValue<String> value = new ObservableValue<String>(STRING_1); final ObservableValueListener listener = new ObservableValueListener(); value.addValueListener(listener); value.setValue(STRING_1); Assert.assertEquals(0, listener.getInvocations()); Assert.assertNull(listener.getLastValue()); Assert.assertNull(listener.getLastObservableValue()); value.setValue(STRING_2); Assert.assertEquals(STRING_2, value.getValue()); Assert.assertEquals(1, listener.getInvocations()); Assert.assertEquals(STRING_2, listener.getLastValue()); Assert.assertSame(value, listener.getLastObservableValue()); value.setValue(STRING_2); Assert.assertEquals(1, listener.getInvocations()); Assert.assertEquals(STRING_2, listener.getLastValue()); Assert.assertSame(value, listener.getLastObservableValue()); value.setValue(STRING_3); Assert.assertEquals(STRING_3, value.getValue()); Assert.assertEquals(2, listener.getInvocations()); Assert.assertEquals(STRING_3, listener.getLastValue()); Assert.assertSame(value, listener.getLastObservableValue()); }
public ObservableValue() { this(null); }
ObservableValue implements IObservableValue<VALUE_TYPE> { public ObservableValue() { this(null); } }
ObservableValue implements IObservableValue<VALUE_TYPE> { public ObservableValue() { this(null); } ObservableValue();  ObservableValue(final VALUE_TYPE value); }
ObservableValue implements IObservableValue<VALUE_TYPE> { public ObservableValue() { this(null); } ObservableValue();  ObservableValue(final VALUE_TYPE value); @Override void setValue(final VALUE_TYPE value); @Override VALUE_TYPE getValue(); @Override final void addValueListener(final IObservableValueListener<?> listener); @Override final void removeValueListener(final IObservableValueListener<?> listener); @Override String toString(); }
ObservableValue implements IObservableValue<VALUE_TYPE> { public ObservableValue() { this(null); } ObservableValue();  ObservableValue(final VALUE_TYPE value); @Override void setValue(final VALUE_TYPE value); @Override VALUE_TYPE getValue(); @Override final void addValueListener(final IObservableValueListener<?> listener); @Override final void removeValueListener(final IObservableValueListener<?> listener); @Override String toString();  }