@Test
public void createTopLevelFactModelTreeCompositeNoCollection() {

    // Single property retrieve
    ClientDMNType compositePerson = getSingleCompositeWithSimpleCollection();
    FactModelTree retrieved = abstractKogitoDMNServiceSpy.createTopLevelFactModelTree("testPath", compositePerson, new TreeMap<>(), FactModelTree.Type.INPUT);
    Assert.assertNotNull(retrieved);
    assertEquals("testPath", retrieved.getFactName());
    assertEquals(2, retrieved.getSimpleProperties().size());
    assertTrue(retrieved.getSimpleProperties().containsKey("friends"));
    assertEquals("java.util.List", retrieved.getSimpleProperties().get("friends").getTypeName());
    assertFalse(retrieved.getSimpleProperties().get("friends").getBaseTypeName().isPresent());
    assertEquals("java.util.List", retrieved.getSimpleProperties().get("friends").getPropertyTypeNameToVisualize());
    assertTrue(retrieved.getSimpleProperties().containsKey("name"));
    assertEquals(TYPE_NAME, retrieved.getSimpleProperties().get("name").getTypeName());
    assertFalse(retrieved.getSimpleProperties().get("name").getBaseTypeName().isPresent());
    assertEquals(TYPE_NAME, retrieved.getSimpleProperties().get("name").getPropertyTypeNameToVisualize());
    //
    assertEquals(1, retrieved.getGenericTypesMap().size());
    assertTrue(retrieved.getGenericTypesMap().containsKey("friends"));
    assertEquals(compositePerson.getFields().get("friends").getName(), retrieved.getGenericTypesMap().get("friends").get(0));
    //
    assertEquals(2, retrieved.getExpandableProperties().size());
    assertTrue(retrieved.getExpandableProperties().containsKey("EXPANDABLE_PROPERTY_PHONENUMBERS"));
    assertEquals("tPhoneNumber", retrieved.getExpandableProperties().get("EXPANDABLE_PROPERTY_PHONENUMBERS"));
    assertTrue(retrieved.getExpandableProperties().containsKey("EXPANDABLE_PROPERTY_DETAILS"));
    assertEquals("tDetails", retrieved.getExpandableProperties().get("EXPANDABLE_PROPERTY_DETAILS"));
}