void (String classText, List<Trinity<String, Integer, Integer>> traceAndPositions) { myFixture.configureByText("SomeClass.java", classText); Editor editor = myFixture.getEditor(); assertEquals(classText, editor.getDocument().getText()); ExceptionFilter filter = new ExceptionFilter(myFixture.getFile().getResolveScope()); for (Trinity<String, Integer, Integer> line : traceAndPositions) { String stackLine = line.getFirst(); Filter.Result result = filter.applyFilter(stackLine, stackLine.length()); Integer row = line.getSecond(); Integer column = line.getThird(); if (row != null) { assertNotNull(result); HyperlinkInfo info = result.getFirstHyperlinkInfo(); assertNotNull(info); info.navigate(getProject()); LogicalPosition actualPos = editor.getCaretModel().getLogicalPosition(); assertEquals(new LogicalPosition(row - 1, column - 1), actualPos); } } }