public static void doTest(@NotNull final CodeInsightTestFixture fixture) {
    final List<CaretPositionInfo> caretPositions =
        DartTestUtils.extractPositionMarkers(
            fixture.getProject(), fixture.getEditor().getDocument());

    fixture.doHighlighting();

    for (CaretPositionInfo caretPositionInfo : caretPositions) {
      final int line =
          fixture.getEditor().getDocument().getLineNumber(caretPositionInfo.caretOffset);
      final int column =
          caretPositionInfo.caretOffset
              - fixture.getEditor().getDocument().getLineStartOffset(line);
      final String fileNameAndPosition =
          fixture.getFile().getName() + ":" + (line + 1) + ":" + (column + 1);

      final PsiReference reference =
          TargetElementUtil.findReference(fixture.getEditor(), caretPositionInfo.caretOffset);
      assertNotNull("No reference in " + fileNameAndPosition, reference);

      final PsiElement resolve = reference.resolve();
      final String actualElementPosition = getPresentableElementPosition(fixture, resolve);
      assertEquals(
          "Incorrect resolution for reference in " + fileNameAndPosition,
          caretPositionInfo.expected,
          actualElementPosition);
    }
  }