EdmEntitySet roomsSet = edm.getDefaultEntityContainer().getEntitySet("Rooms");
List<String> selectedPropertyNames = new ArrayList<String>();
selectedPropertyNames.add("Id");
List<String> navigationPropertyNames = new ArrayList<String>();
navigationPropertyNames.add("nr_Employees");
ExpandSelectTreeNode expandNode = ExpandSelectTreeNode.entitySet(mock(EdmEntitySet.class)).build();
ExpandSelectTreeNode node =
ExpandSelectTreeNode.entitySet(roomsSet).selectedProperties(selectedPropertyNames).expandedLinks(
navigationPropertyNames).customExpandedLink("nr_Building", expandNode).build();
assertNotNull(node);
assertFalse(node.isAll());
assertFalse(node.getProperties().isEmpty());
assertFalse(node.getLinks().isEmpty());
assertEquals(1, node.getProperties().size());
assertEquals("Id", node.getProperties().get(0).getName());
assertEquals(2, node.getLinks().size());
assertTrue(node.getLinks().containsKey("nr_Employees"));
assertNotNull(node.getLinks().get("nr_Employees"));
assertTrue(node.getLinks().containsKey("nr_Building"));
assertNotNull(node.getLinks().get("nr_Building"));
assertEquals(expandNode, node.getLinks().get("nr_Building"));
}