### Question:
DefaultVertexPositioning implements VertexPositioning { @Override public void calculateVerticesPositions(final ReorderedGraph graph, final LayerArrangement arrangement) { final LayeredGraph layered = (LayeredGraph) graph; deReverseEdges(graph); final Set<Vertex> vertices = getVertices(layered); removeVirtualVertices(graph.getEdges(), vertices); removeVirtualVerticesFromLayers(layered.getLayers(), vertices); arrangeVertices(layered.getLayers(), arrangement, graph); }  @Override void calculateVerticesPositions(final ReorderedGraph graph,
                                           final LayerArrangement arrangement); boolean removeVirtualVertex(final OrientedEdge edge,
                                       final List<OrientedEdge> edges,
                                       final Set<Vertex> vertices); void removeVirtualVertices(final List<OrientedEdge> edges,
                                      final Set<Vertex> vertices);  }### Answer:
@Test public void testCalculateVerticesPositions() { final DefaultVertexPositioning tested = mock(DefaultVertexPositioning.class); final LayeredGraph graph = mock(LayeredGraph.class); final List<OrientedEdge> edges = mock(List.class); final LayerArrangement arrangement = LayerArrangement.BottomUp; final Set<Vertex> vertices = mock(Set.class); when(tested.getVertices(graph)).thenReturn(vertices); final List<GraphLayer> layers = mock(List.class); when(graph.getLayers()).thenReturn(layers); when(graph.getEdges()).thenReturn(edges); doCallRealMethod().when(tested).calculateVerticesPositions(graph, arrangement); tested.calculateVerticesPositions(graph, arrangement); final InOrder inOrder = inOrder(tested); inOrder.verify(tested).deReverseEdges(graph); inOrder.verify(tested).getVertices(graph); inOrder.verify(tested).removeVirtualVertices(edges, vertices); inOrder.verify(tested).removeVirtualVerticesFromLayers(layers, vertices); inOrder.verify(tested).arrangeVertices(layers, arrangement, graph); }