Example usage for org.eclipse.jface.databinding.conformance.util SetChangeEventTracker observe

List of usage examples for org.eclipse.jface.databinding.conformance.util SetChangeEventTracker observe

Introduction

In this page you can find the example usage for org.eclipse.jface.databinding.conformance.util SetChangeEventTracker observe.

Prototype

public static SetChangeEventTracker observe(IObservableSet observable) 

Source Link

Document

Convenience method to register a new listener.

Usage

From source file:org.eclipse.core.tests.databinding.observable.set.ComputedSetTest.java

License:Open Source License

public void testDependency_SetChangeEventFiresOnlyWhenNotDirty() {
    SetChangeEventTracker tracker = SetChangeEventTracker.observe(set);

    set.dependency.fireChange();/*from   w  ww .  j av  a 2s.com*/
    assertEquals("ComputedSet should fire set change event when its dependency changes", 1, tracker.count);

    set.dependency.fireChange();
    assertEquals("ComputedSet should not fire set change events when dirty", 1, tracker.count);

    set.size(); // Force set to recompute.
    set.dependency.fireChange();
    assertEquals("ComputedSet should fire set change event when its dependency changes", 2, tracker.count);
}

From source file:org.eclipse.core.tests.internal.databinding.beans.JavaBeanObservableArrayBasedSetTest.java

License:Open Source License

public void testRegistersListenerAfterFirstListenerIsAdded() throws Exception {
    assertFalse(bean.changeSupport.hasListeners(propertyName));
    SetChangeEventTracker.observe(set);
    assertTrue(bean.changeSupport.hasListeners(propertyName));
}

From source file:org.eclipse.core.tests.internal.databinding.beans.JavaBeanObservableArrayBasedSetTest.java

License:Open Source License

public void testRemovesListenerAfterLastListenerIsRemoved() throws Exception {
    SetChangeEventTracker listener = SetChangeEventTracker.observe(set);

    assertTrue(bean.changeSupport.hasListeners(propertyName));
    set.removeSetChangeListener(listener);
    assertFalse(bean.changeSupport.hasListeners(propertyName));
}

From source file:org.eclipse.core.tests.internal.databinding.beans.JavaBeanObservableArrayBasedSetTest.java

License:Open Source License

public void testSetBeanProperty_FiresSetChangeEvents() throws Exception {
    SetChangeEventTracker listener = SetChangeEventTracker.observe(set);

    assertEquals(0, listener.count);//  w  w w  .ja  va  2s  .  co m
    bean.setArray(new String[] { "element" });
    assertEquals(1, listener.count);
}

From source file:org.eclipse.core.tests.internal.databinding.beans.JavaBeanObservableArrayBasedSetTest.java

License:Open Source License

public void testAdd_SetChangeEvent() throws Exception {
    SetChangeEventTracker listener = SetChangeEventTracker.observe(set);
    assertEquals(0, listener.count);/*from  w w w. ja v  a2s .  co m*/

    String element = "1";
    set.add(element);

    assertEquals(1, listener.count);
    SetChangeEvent event = listener.event;

    assertSame(set, event.getObservableSet());
    assertEquals(Collections.singleton(element), event.diff.getAdditions());
    assertEquals(Collections.EMPTY_SET, event.diff.getRemovals());
}

From source file:org.eclipse.core.tests.internal.databinding.beans.JavaBeanObservableArrayBasedSetTest.java

License:Open Source License

public void testRemove_SetChangeEvent() throws Exception {
    String element = "1";
    set.add(element);/*from   ww w  . ja  va  2 s  . c  om*/
    assertEquals(1, set.size());

    SetChangeEventTracker listener = SetChangeEventTracker.observe(set);
    assertEquals(0, listener.count);

    set.remove(element);

    assertEquals(1, listener.count);
    SetChangeEvent event = listener.event;
    assertEquals(set, event.getObservableSet());
    assertEquals(Collections.singleton(element), event.diff.getRemovals());
    assertEquals(Collections.EMPTY_SET, event.diff.getAdditions());
}

From source file:org.eclipse.core.tests.internal.databinding.beans.JavaBeanObservableArrayBasedSetTest.java

License:Open Source License

public void testAddAll_SetChangeEvent() throws Exception {
    Collection elements = Arrays.asList(new String[] { "1", "2" });
    assertEquals(0, set.size());//  ww w.j  av  a2  s .  com

    SetChangeEventTracker listener = SetChangeEventTracker.observe(set);
    assertEquals(0, listener.count);

    set.addAll(elements);

    assertEquals(1, listener.count);
    SetChangeEvent event = listener.event;
    assertEquals(set, event.getObservableSet());

    assertEquals(new HashSet(elements), event.diff.getAdditions());
    assertEquals(Collections.EMPTY_SET, event.diff.getRemovals());
}

From source file:org.eclipse.core.tests.internal.databinding.beans.JavaBeanObservableArrayBasedSetTest.java

License:Open Source License

public void testRemoveAll_SetChangeEvent() throws Exception {
    Collection elements = Arrays.asList(new String[] { "1", "2" });
    set.addAll(elements);/*from   w  w w . j av a2  s.  c o m*/

    SetChangeEventTracker listener = SetChangeEventTracker.observe(set);
    assertEquals(0, listener.count);

    set.removeAll(elements);

    SetChangeEvent event = listener.event;
    assertEquals(set, event.getObservableSet());
    assertEquals(Collections.EMPTY_SET, event.diff.getAdditions());
    assertEquals(new HashSet(elements), event.diff.getRemovals());
}

From source file:org.eclipse.core.tests.internal.databinding.beans.JavaBeanObservableArrayBasedSetTest.java

License:Open Source License

public void testRetainAll_SetChangeEvent() throws Exception {
    set.addAll(Arrays.asList(new String[] { "0", "1", "2", "3" }));

    SetChangeEventTracker listener = SetChangeEventTracker.observe(set);

    assertEquals(0, listener.count);/*from   w  ww . j  av a2 s .c  om*/
    set.retainAll(Arrays.asList(new String[] { "0", "1" }));

    assertEquals(1, listener.count);
    SetChangeEvent event = listener.event;
    assertEquals(set, event.getObservableSet());
    assertEquals(Collections.EMPTY_SET, event.diff.getAdditions());
    assertEquals(new HashSet(Arrays.asList(new String[] { "2", "3" })), event.diff.getRemovals());
}

From source file:org.eclipse.core.tests.internal.databinding.beans.JavaBeanObservableArrayBasedSetTest.java

License:Open Source License

public void testSetChangeEventFiresWhenNewSetIsSet() throws Exception {
    Bean[] elements = new Bean[] { new Bean(), new Bean() };

    SetChangeEventTracker listener = SetChangeEventTracker.observe(set);

    assertEquals(0, listener.count);//from  w  w w. j  a v a 2s . c  om
    bean.setArray(elements);
    assertEquals(1, listener.count);
}