@Test
public void testGetInstanceForSameTypeAlwaysReturnsSameObject() {

    // GIVEN
    // WHEN
    final ClassA obj1 = factory.getInstance(ClassA.class);
    final ClassA obj2 = factory.getInstance(ClassA.class);
    // THEN
    assertNotNull(obj1);
    assertNotNull(obj2);
    assertThat(obj1, equalTo(obj2));
}