@Test public void testAddAndRemoveChildrenEmitsEvent() { entity = app.createAndManageChild(EntitySpec.create(TestEntity.class)); assertCollectionEquals(app.getChildren(), ImmutableList.of(entity)); assertEqualsEventually(added, ImmutableList.of(entity)); entity2 = app.createAndManageChild(EntitySpec.create(TestEntity.class)); assertCollectionEquals(app.getChildren(), ImmutableList.of(entity, entity2)); assertEqualsEventually(added, ImmutableList.of(entity, entity2)); entity.removeChild(entity); assertCollectionEquals(app.getChildren(), ImmutableList.of(entity2)); assertEqualsEventually(removed, ImmutableList.of(entity)); Entities.unmanage(entity2); assertCollectionEquals(app.getChildren(), ImmutableList.of()); assertEqualsEventually(removed, ImmutableList.of(entity, entity2)); }