test_class.declarator: fixationPoints =
          new ArrayList<>( List.of (
              new LinkedList<>(
                  List.of(
                  new FixationPoint(123, 200, 20, 40),
                  new FixationPoint(123, 200, 500, 400),
                  new FixationPoint(123, 200, 120, 150),
                  new FixationPoint(123, 50, 300, 450),
                  new FixationPoint(123, 50, 300, 400),
                  new FixationPoint(123, 50, 300, 400),
                  new FixationPoint(123, 50, 300, 400)
                  )
              ),
              new LinkedList<>(
                  List.of(
                      new FixationPoint(123, 200, 20, 40),
                      new FixationPoint(123, 200, 500, 400),
                      new FixationPoint(123, 200, 120, 150),
                      new FixationPoint(123, 50, 300, 450),
                      new FixationPoint(123, 50, 300, 400),
                      new FixationPoint(123, 50, 300, 400),
                      new FixationPoint(123, 50, 300, 400)
                  )
              )
      ))
test_class.modifier: private
test_class.original_string: private ArrayList<LinkedList<FixationPoint>> fixationPoints =
          new ArrayList<>( List.of (
              new LinkedList<>(
                  List.of(
                  new FixationPoint(123, 200, 20, 40),
                  new FixationPoint(123, 200, 500, 400),
                  new FixationPoint(123, 200, 120, 150),
                  new FixationPoint(123, 50, 300, 450),
                  new FixationPoint(123, 50, 300, 400),
                  new FixationPoint(123, 50, 300, 400),
                  new FixationPoint(123, 50, 300, 400)
                  )
              ),
              new LinkedList<>(
                  List.of(
                      new FixationPoint(123, 200, 20, 40),
                      new FixationPoint(123, 200, 500, 400),
                      new FixationPoint(123, 200, 120, 150),
                      new FixationPoint(123, 50, 300, 450),
                      new FixationPoint(123, 50, 300, 400),
                      new FixationPoint(123, 50, 300, 400),
                      new FixationPoint(123, 50, 300, 400)
                  )
              )
      ));
test_class.type: ArrayList<LinkedList<FixationPoint>>
test_class.var_name: fixationPoints
test_class.file: gazeplay-commons/src/test/java/net/gazeplay/commons/utils/FixationSequenceTest.java
test_class.identifier: FixationSequenceTest
test_case.body: @Test
      void shouldSaveImageToFile() throws InterruptedException {
          Platform.runLater(() -> {
              File testFile = new File("image.png");
              FixationSequence sequence = new FixationSequence(1920, 1080, fixationPoints, FixationSequence.MOUSE_FIXATION_SEQUENCE);
              sequence.saveToFile(testFile);
  
              assertTrue(testFile.isFile());
              testFile.delete();
          });
          TestingUtils.waitForRunLater();
  
          Platform.runLater(() -> {
              File testFile = new File("image.png");
              FixationSequence sequence = new FixationSequence(1920, 1080, fixationPoints, FixationSequence.GAZE_FIXATION_SEQUENCE);
              sequence.saveToFile(testFile);
  
              assertTrue(testFile.isFile());
              testFile.delete();
          });
          TestingUtils.waitForRunLater();
      }
test_case.class_method_signature: FixationSequenceTest.shouldSaveImageToFile()
test_case.full_signature: @Test void shouldSaveImageToFile()
test_case.identifier: shouldSaveImageToFile
test_case.invocations: runLater saveToFile assertTrue isFile delete waitForRunLater runLater saveToFile assertTrue isFile delete waitForRunLater
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldSaveImageToFile()
focal_class.declarator: sanSerifFont = new Font("SanSerif", 10)
focal_class.modifier: private static final
focal_class.original_string: private static final Font sanSerifFont = new Font("SanSerif", 10);
focal_class.type: Font
focal_class.var_name: sanSerifFont
focal_class.declarator: MOUSE_FIXATION_SEQUENCE = 0
focal_class.modifier: public static final
focal_class.original_string: public static final int MOUSE_FIXATION_SEQUENCE = 0;
focal_class.type: int
focal_class.var_name: MOUSE_FIXATION_SEQUENCE
focal_class.declarator: GAZE_FIXATION_SEQUENCE = 1
focal_class.modifier: public static final
focal_class.original_string: public static final int GAZE_FIXATION_SEQUENCE = 1;
focal_class.type: int
focal_class.var_name: GAZE_FIXATION_SEQUENCE
focal_class.declarator: colors = {
          {Color.INDIANRED, Color.DARKRED},
          {Color.LIGHTBLUE, Color.DARKBLUE}
      }
focal_class.modifier: private final
focal_class.original_string: private final Color[][] colors = {
          {Color.INDIANRED, Color.DARKRED},
          {Color.LIGHTBLUE, Color.DARKBLUE}
      };
focal_class.type: Color[][]
focal_class.var_name: colors
focal_class.declarator: image
focal_class.modifier: @Getter
      private final
focal_class.original_string: @Getter
      private final WritableImage image;
focal_class.type: WritableImage
focal_class.var_name: image
focal_class.declarator: sequence
focal_class.modifier: @Getter
      private
focal_class.original_string: @Getter
      private LinkedList<FixationPoint> sequence;
focal_class.type: LinkedList<FixationPoint>
focal_class.var_name: sequence
focal_class.file: gazeplay-commons/src/main/java/net/gazeplay/commons/utils/FixationSequence.java
focal_class.identifier: FixationSequence
focal_class.class_method_signature: FixationSequence.FixationSequence(final int width, final int height, ArrayList<LinkedList<FixationPoint>> fixationPoints, int sequenceIndex)
focal_class.full_signature: public  FixationSequence(final int width, final int height, ArrayList<LinkedList<FixationPoint>> fixationPoints, int sequenceIndex)
focal_class.identifier: FixationSequence
focal_class.modifiers: public
focal_class.parameters: (final int width, final int height, ArrayList<LinkedList<FixationPoint>> fixationPoints, int sequenceIndex)
focal_class.signature:  FixationSequence(final int width, final int height, ArrayList<LinkedList<FixationPoint>> fixationPoints, int sequenceIndex)
focal_class.class_method_signature: FixationSequence.drawFixationLines(Canvas canvas, LinkedList<FixationPoint> sequence, Color color)
focal_class.full_signature: private GraphicsContext drawFixationLines(Canvas canvas, LinkedList<FixationPoint> sequence, Color color)
focal_class.identifier: drawFixationLines
focal_class.modifiers: private
focal_class.parameters: (Canvas canvas, LinkedList<FixationPoint> sequence, Color color)
focal_class.return: GraphicsContext
focal_class.signature: GraphicsContext drawFixationLines(Canvas canvas, LinkedList<FixationPoint> sequence, Color color)
focal_class.class_method_signature: FixationSequence.drawFixationCircles(GraphicsContext gc, LinkedList<FixationPoint> sequence, int sequenceIndex)
focal_class.full_signature: private void drawFixationCircles(GraphicsContext gc, LinkedList<FixationPoint> sequence, int sequenceIndex)
focal_class.identifier: drawFixationCircles
focal_class.modifiers: private
focal_class.parameters: (GraphicsContext gc, LinkedList<FixationPoint> sequence, int sequenceIndex)
focal_class.return: void
focal_class.signature: void drawFixationCircles(GraphicsContext gc, LinkedList<FixationPoint> sequence, int sequenceIndex)
focal_class.class_method_signature: FixationSequence.saveToFile(final File outputFile)
focal_class.full_signature: public void saveToFile(final File outputFile)
focal_class.identifier: saveToFile
focal_class.modifiers: public
focal_class.parameters: (final File outputFile)
focal_class.return: void
focal_class.signature: void saveToFile(final File outputFile)
focal_class.class_method_signature: FixationSequence.vertexReduction(final LinkedList<FixationPoint> allPoints, final double tolerance)
focal_class.full_signature: public static LinkedList<FixationPoint> vertexReduction(final LinkedList<FixationPoint> allPoints, final double tolerance)
focal_class.identifier: vertexReduction
focal_class.modifiers: public static
focal_class.parameters: (final LinkedList<FixationPoint> allPoints, final double tolerance)
focal_class.return: LinkedList<FixationPoint>
focal_class.signature: LinkedList<FixationPoint> vertexReduction(final LinkedList<FixationPoint> allPoints, final double tolerance)
focal_method.body: public void saveToFile(final File outputFile) {
          final BufferedImage bImage = SwingFXUtils.fromFXImage(image, null);
          try {
              ImageIO.write(bImage, "png", outputFile);
          } catch (final IOException e) {
              throw new RuntimeException(e);
          }
      }
focal_method.class_method_signature: FixationSequence.saveToFile(final File outputFile)
focal_method.full_signature: public void saveToFile(final File outputFile)
focal_method.identifier: saveToFile
focal_method.invocations: fromFXImage write
focal_method.modifiers: public
focal_method.parameters: (final File outputFile)
focal_method.return: void
focal_method.signature: void saveToFile(final File outputFile)