@Test public void flattenHierarchy() {
    HierarchyFixture fixture = new HierarchyFixture();
    Set<Class<?>> hierarchy = bus.flattenHierarchy(fixture.getClass());

    assertEquals(3, hierarchy.size());
    assertContains(Object.class, hierarchy);
    assertContains(HierarchyFixtureParent.class, hierarchy);
    assertContains(HierarchyFixture.class, hierarchy);
  }
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