use of org.eclipse.elk.alg.layered.p3order.LayerSweepTypeDecider in project elk by eclipse.
the class LayerSweepTypeDeciderTest method allHierarchicalButMinusOne_StillReturnsBU.
/**
* <pre>
* ____
* *=|=*=|=*
* |___|
*
* </pre>
*/
@Test
public void allHierarchicalButMinusOne_StillReturnsBU() throws Exception {
LNode leftNode = addNodeToLayer(makeLayer());
LNode middleNode = addNodeToLayer(makeLayer());
LNode rightNode = addNodeToLayer(makeLayer());
LPort[] middlePortRight = addPortsOnSide(2, middleNode, PortSide.EAST);
LPort[] middlePortLeft = addPortsOnSide(2, middleNode, PortSide.WEST);
eastWestEdgeFromTo(leftNode, middlePortLeft[1]);
eastWestEdgeFromTo(leftNode, middlePortLeft[0]);
eastWestEdgeFromTo(middlePortRight[0], rightNode);
eastWestEdgeFromTo(middlePortRight[1], rightNode);
LGraph innerGraph = nestedGraph(middleNode);
Layer[] layers = makeLayers(3, innerGraph);
LNode[] leftInnerDummyNodes = addExternalPortDummiesToLayer(layers[2], middlePortRight);
LNode node = addNodeToLayer(layers[1]);
LNode[] rightInnerDummyNodes = addExternalPortDummiesToLayer(layers[0], middlePortLeft);
eastWestEdgeFromTo(leftInnerDummyNodes[0], node);
eastWestEdgeFromTo(leftInnerDummyNodes[1], node);
eastWestEdgeFromTo(node, rightInnerDummyNodes[0]);
eastWestEdgeFromTo(node, rightInnerDummyNodes[1]);
graph.id = 0;
innerGraph.id = 1;
setOnAllGraphs(LayeredOptions.CROSSING_MINIMIZATION_HIERARCHICAL_SWEEPINESS, -1.0, graph);
GraphInfoHolder gd = new GraphInfoHolder(innerGraph, CrossMinType.BARYCENTER, Arrays.asList(new GraphInfoHolder(graph, CrossMinType.BARYCENTER, null)));
LayerSweepTypeDecider td = new LayerSweepTypeDecider(gd);
IInitializable.init(Arrays.asList(td), innerGraph.toNodeArray());
assertTrue(td.useBottomUp());
}
Aggregations