@Test
public void testGetAll() {

  TestInvokeStrategy testStrategy = new TestInvokeStrategy();
  ListenerManager listeners = new ListenerManager(testStrategy);
  ObjectWithObservableProperties dummy = new ObjectWithObservableProperties();
  CountingRunnable counter = new CountingRunnable();
  List<AbstractProperty<?>> dummyProperties = AbstractProperty.getAll(dummy);
  assert !dummyProperties.isEmpty();
  listeners.listenAll(dummyProperties).with(counter);
  assertThat(counter.myRunCount).isEqualTo(0);
  dummy.bool().set(true);
  testStrategy.updateOneStep();
  assertThat(counter.myRunCount).isEqualTo(1);
  dummy.integer().set(1);
  testStrategy.updateOneStep();
  assertThat(counter.myRunCount).isEqualTo(2);
  dummy._double().set(1.0);
  testStrategy.updateOneStep();
  assertThat(counter.myRunCount).isEqualTo(3);
  dummy.string.set("test");
  testStrategy.updateOneStep();
  assertThat(counter.myRunCount).isEqualTo(4);
}