protected void moveVertex(AbstractTestVertex v, int xOffset, int yOffset) {

		waitForAnimation();

		Point2D viewPoint = new Point2D.Double(xOffset, yOffset);
		GraphViewer<AbstractTestVertex, TestEdge> viewer = graphComponent.getPrimaryViewer();
		Point layoutPoint =
			GraphViewerUtils.translatePointFromViewSpaceToLayoutSpace(viewPoint, viewer);

		swing(() -> {
			VisualGraphLayout<AbstractTestVertex, TestEdge> layout = graph.getLayout();
			Point2D p = layout.apply(v);
			layout.setLocation(v,
				new Point2D.Double(p.getX() + layoutPoint.getX(), p.getY() + layoutPoint.getY()));
		});
		waitForAnimation();
	}
Creates a basic test environment that uses a JFrame to house a {@link GraphComponent}, which
itself has a primary and satellite viewer, all initialized with a graph of your setup, 
with reasonable default settings.
Ghidra/Framework/Graph/src/test.slow/java/ghidra/graph/viewer/AbstractVisualGraphTest.java