Esempio n. 1
0
 public int countProxies(Observer obs) {
   ProxyBusObject proxy;
   int count = 0;
   for (proxy = obs.getFirst(); proxy != null; proxy = obs.getNext(proxy)) {
     ++count;
   }
   return count;
 }
Esempio n. 2
0
 private ArrayList<ProxyBusObject> checkObjects(int nrOfObjects, Observer obs) {
   ArrayList<ProxyBusObject> objects = new ArrayList<ProxyBusObject>();
   objects.add(obs.getFirst());
   ProxyBusObject obj = obs.getFirst();
   checkGet(obj, obs);
   assertNotNull(obj);
   assertSame(objects.get(0), obj);
   for (int i = 1; i < nrOfObjects; i++) {
     obj = obs.getNext(objects.get(i - 1));
     assertNotNull(obj);
     assertSame(obj, obs.getNext(objects.get(i - 1)));
     assertFalse(objects.contains(obj));
     checkGet(obj, obs);
     objects.add(obj);
   }
   assertNull(obs.getNext(obj));
   assertNull(obs.getNext(obj));
   return objects;
 }
Esempio n. 3
0
  public void testGetFirstNext() {
    Participant consumer = new Participant("one");
    Participant provider = new Participant("two");

    final Observer obs = newObserver(consumer, InterfaceA.class);
    final ObserverListener listener = new ObserverListener(consumer);
    obs.registerListener(listener);

    assertNull(obs.getFirst());
    assertNull(obs.getNext(null));
    ArrayList<ProxyBusObject> objects = null;

    String[] names = new String[] {A, AB, B, C};
    for (int i = 0; i < names.length; ) {
      provider.createA(names[i]);
      waitForEvent(listener, provider, names[i]);
      objects = checkObjects(++i, obs);
    }
    assertNotNull(objects);
    ProxyBusObject obj = objects.get(1);
    unregisterObject(provider, obj, listener);
    assertSame(objects.get(2), obs.getNext(obj));
    assertSame(objects.get(2), obs.getNext(objects.get(0)));
    objects = checkObjects(3, obs);
    assertFalse(objects.contains(obj));

    obj = objects.get(2);
    unregisterObject(provider, obj, listener);
    assertNull(obs.getNext(obj));
    assertNull(obs.getNext(objects.get(1)));
    objects = checkObjects(2, obs);
    assertFalse(objects.contains(obj));

    obj = objects.get(0);
    unregisterObject(provider, obj, listener);
    assertSame(objects.get(1), obs.getNext(obj));
    assertSame(objects.get(1), obs.getFirst());
    objects = checkObjects(1, obs);
    assertFalse(objects.contains(obj));

    obj = objects.get(0);
    unregisterObject(provider, obj, listener);
    assertNull(obs.getNext(obj));
    assertNull(obs.getFirst());
  }
Esempio n. 4
0
  public void testClose() throws Exception {
    Participant provider = new Participant("prov");
    Participant consumer = new Participant("cons");
    final Observer obs = newObserver(consumer, InterfaceA.class);
    final ObserverListener listener = new ObserverListener(consumer);
    obs.registerListener(listener);
    provider.createA(A);
    waitForEvent(listener, provider, A);

    ProxyBusObject pbo = obs.getFirst();
    assertNotNull(pbo);

    obs.close();
    obs.close();
    obs.registerListener(listener);
    assertNull(obs.getFirst());
    assertNull(obs.get(pbo.getBusName(), pbo.getObjPath()));
    assertNull(obs.getNext(pbo));
    obs.unregisterListener(listener);
    obs.unregisterAllListeners();
    obs.close();
    Thread.sleep(100);
    listener.expectInvocations(0);
  }