@Test public void producingNullIsNoOp() {
    LazyStringProducer producer = new LazyStringProducer();
    StringCatcher catcher = new StringCatcher();

    bus.register(catcher);
    bus.register(producer);

    assertTrue(catcher.getEvents().isEmpty());

    bus.unregister(producer);
    producer.value = "Foo";
    bus.register(producer);

    assertEquals(Arrays.asList("Foo"), catcher.getEvents());
  }
Tests that events are distributed to any subscribers to their type or any
supertype, including interfaces and superclasses.

Also checks delivery ordering in such cases.
otto/src/test/java/com/squareup/otto/BusTest.java