### Question:
EdgeFactoryImpl extends AbstractElementFactory<Object, Definition<Object>, Edge<Definition<Object>, Node>> implements EdgeFactory<Object> { @Override @SuppressWarnings("unchecked") public Edge<Definition<Object>, Node> build(final String uuid, final Object definition) { final EdgeImpl edge = new EdgeImpl<>(uuid); if (null != definition) { ViewConnector<Object> content = new ViewConnectorImpl<>(definition, buildBounds()); edge.setContent(content); appendLabels(edge.getLabels(), definition); } return edge; } protected  EdgeFactoryImpl(); @Inject  EdgeFactoryImpl(final DefinitionManager definitionManager); @Override Class<? extends ElementFactory> getFactoryType(); @Override @SuppressWarnings("unchecked") Edge<Definition<Object>, Node> build(final String uuid,
                                                final Object definition); @Override boolean accepts(final Object source);  }### Answer:
@Test public void testBuild() { final Edge<Definition<Object>, Node> edge = tested.build(UUID, definition); assertNotNull(edge); assertEquals(UUID, edge.getUUID()); assertEquals(3, edge.getLabels().size()); assertTrue(edge.getLabels().contains(ID)); assertTrue(edge.getLabels().contains("label1")); assertTrue(edge.getLabels().contains("label2")); }