test_class.declarator: gazePlay
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private GazePlay gazePlay;
test_class.type: GazePlay
test_class.var_name: gazePlay
test_class.declarator: mockStatsContext
test_class.modifier: @Mock(answer = Answers.RETURNS_DEEP_STUBS)
      private
test_class.original_string: @Mock(answer = Answers.RETURNS_DEEP_STUBS)
      private StatsContext mockStatsContext;
test_class.type: StatsContext
test_class.var_name: mockStatsContext
test_class.declarator: mockStats
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Stats mockStats;
test_class.type: Stats
test_class.var_name: mockStats
test_class.declarator: mockShootStats
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ShootGamesStats mockShootStats;
test_class.type: ShootGamesStats
test_class.var_name: mockShootStats
test_class.declarator: mockRegion
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Region mockRegion;
test_class.type: Region
test_class.var_name: mockRegion
test_class.declarator: screenDimensionSupplier
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ScreenDimensionSupplier screenDimensionSupplier;
test_class.type: ScreenDimensionSupplier
test_class.var_name: screenDimensionSupplier
test_class.declarator: captor
test_class.modifier: @Captor
      private
test_class.original_string: @Captor
      private ArgumentCaptor<Cursor> captor;
test_class.type: ArgumentCaptor<Cursor>
test_class.var_name: captor
test_class.file: gazeplay-core/src/test/java/net/gazeplay/commons/utils/stats/StatDisplayUtilsTest.java
test_class.identifier: StatDisplayUtilsTest
test_case.body: @Test
      void shouldConvertTimeToString() {
          final Calendar cal = Calendar.getInstance();
  
          cal.set(2020, Calendar.JANUARY, 28, 13, 25, 20);
          long start = cal.getTimeInMillis();
          cal.set(2020, Calendar.JANUARY, 28, 14, 25, 25);
          long end = cal.getTimeInMillis();
          String result = StatDisplayUtils.convert(end - start);
          assertTrue(result.contains("1h 5s"));
  
          cal.set(2020, Calendar.JANUARY, 28, 13, 25, 20);
          start = cal.getTimeInMillis();
          cal.set(2020, Calendar.JANUARY, 29, 14, 26, 25);
          end = cal.getTimeInMillis();
          result = StatDisplayUtils.convert(end - start);
          assertTrue(result.contains("1d 1h 1m 5s"));
      }
test_case.class_method_signature: StatDisplayUtilsTest.shouldConvertTimeToString()
test_case.full_signature: @Test void shouldConvertTimeToString()
test_case.identifier: shouldConvertTimeToString
test_case.invocations: getInstance set getTimeInMillis set getTimeInMillis convert assertTrue contains set getTimeInMillis set getTimeInMillis convert assertTrue contains
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldConvertTimeToString()
focal_class.file: gazeplay-core/src/main/java/net/gazeplay/commons/utils/stats/StatDisplayUtils.java
focal_class.identifier: StatDisplayUtils
focal_class.class_method_signature: StatDisplayUtils.createHomeButtonInStatsScreen(GazePlay gazePlay, StatsContext statsContext)
focal_class.full_signature: public static HomeButton createHomeButtonInStatsScreen(GazePlay gazePlay, StatsContext statsContext)
focal_class.identifier: createHomeButtonInStatsScreen
focal_class.modifiers: public static
focal_class.parameters: (GazePlay gazePlay, StatsContext statsContext)
focal_class.return: HomeButton
focal_class.signature: HomeButton createHomeButtonInStatsScreen(GazePlay gazePlay, StatsContext statsContext)
focal_class.class_method_signature: StatDisplayUtils.returnToMenu(GazePlay gazePlay, StatsContext statsContext)
focal_class.full_signature: static void returnToMenu(GazePlay gazePlay, StatsContext statsContext)
focal_class.identifier: returnToMenu
focal_class.modifiers: static
focal_class.parameters: (GazePlay gazePlay, StatsContext statsContext)
focal_class.return: void
focal_class.signature: void returnToMenu(GazePlay gazePlay, StatsContext statsContext)
focal_class.class_method_signature: StatDisplayUtils.buildLineChart(Stats stats, final Region root)
focal_class.full_signature: public static LineChart<String, Number> buildLineChart(Stats stats, final Region root)
focal_class.identifier: buildLineChart
focal_class.modifiers: public static
focal_class.parameters: (Stats stats, final Region root)
focal_class.return: LineChart<String, Number>
focal_class.signature: LineChart<String, Number> buildLineChart(Stats stats, final Region root)
focal_class.class_method_signature: StatDisplayUtils.buildAreaChart(LinkedList<FixationPoint> points, final Region root)
focal_class.full_signature: public static AreaChart<Number, Number> buildAreaChart(LinkedList<FixationPoint> points, final Region root)
focal_class.identifier: buildAreaChart
focal_class.modifiers: public static
focal_class.parameters: (LinkedList<FixationPoint> points, final Region root)
focal_class.return: AreaChart<Number, Number>
focal_class.signature: AreaChart<Number, Number> buildAreaChart(LinkedList<FixationPoint> points, final Region root)
focal_class.class_method_signature: StatDisplayUtils.buildGazeMetrics(Stats stats, final Region root)
focal_class.full_signature: public static ImageView buildGazeMetrics(Stats stats, final Region root)
focal_class.identifier: buildGazeMetrics
focal_class.modifiers: public static
focal_class.parameters: (Stats stats, final Region root)
focal_class.return: ImageView
focal_class.signature: ImageView buildGazeMetrics(Stats stats, final Region root)
focal_class.class_method_signature: StatDisplayUtils.resetToOriginalIndexInParent(Node node, int originalIndexInParent)
focal_class.full_signature: private static void resetToOriginalIndexInParent(Node node, int originalIndexInParent)
focal_class.identifier: resetToOriginalIndexInParent
focal_class.modifiers: private static
focal_class.parameters: (Node node, int originalIndexInParent)
focal_class.return: void
focal_class.signature: void resetToOriginalIndexInParent(Node node, int originalIndexInParent)
focal_class.class_method_signature: StatDisplayUtils.getOriginalIndexInParent(Node node)
focal_class.full_signature: private static int getOriginalIndexInParent(Node node)
focal_class.identifier: getOriginalIndexInParent
focal_class.modifiers: private static
focal_class.parameters: (Node node)
focal_class.return: int
focal_class.signature: int getOriginalIndexInParent(Node node)
focal_class.class_method_signature: StatDisplayUtils.createZoomOutAreaChartEventHandler(XYChart<Number, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.full_signature: private static EventHandler<Event> createZoomOutAreaChartEventHandler(XYChart<Number, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.identifier: createZoomOutAreaChartEventHandler
focal_class.modifiers: private static
focal_class.parameters: (XYChart<Number, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.return: EventHandler<Event>
focal_class.signature: EventHandler<Event> createZoomOutAreaChartEventHandler(XYChart<Number, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.class_method_signature: StatDisplayUtils.createZoomOutLineChartEventHandler(XYChart<String, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.full_signature: private static EventHandler<Event> createZoomOutLineChartEventHandler(XYChart<String, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.identifier: createZoomOutLineChartEventHandler
focal_class.modifiers: private static
focal_class.parameters: (XYChart<String, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.return: EventHandler<Event>
focal_class.signature: EventHandler<Event> createZoomOutLineChartEventHandler(XYChart<String, Number> chart,
                                                                            final Region root, int originalIndexInParent)
focal_class.class_method_signature: StatDisplayUtils.createZoomInAreaChartEventHandler(XYChart<Number, Number> chart,
                                                                           final Region root)
focal_class.full_signature: private static EventHandler<Event> createZoomInAreaChartEventHandler(XYChart<Number, Number> chart,
                                                                           final Region root)
focal_class.identifier: createZoomInAreaChartEventHandler
focal_class.modifiers: private static
focal_class.parameters: (XYChart<Number, Number> chart,
                                                                           final Region root)
focal_class.return: EventHandler<Event>
focal_class.signature: EventHandler<Event> createZoomInAreaChartEventHandler(XYChart<Number, Number> chart,
                                                                           final Region root)
focal_class.class_method_signature: StatDisplayUtils.createZoomInLineChartEventHandler(XYChart<String, Number> chart,
                                                                           final Region root)
focal_class.full_signature: private static EventHandler<Event> createZoomInLineChartEventHandler(XYChart<String, Number> chart,
                                                                           final Region root)
focal_class.identifier: createZoomInLineChartEventHandler
focal_class.modifiers: private static
focal_class.parameters: (XYChart<String, Number> chart,
                                                                           final Region root)
focal_class.return: EventHandler<Event>
focal_class.signature: EventHandler<Event> createZoomInLineChartEventHandler(XYChart<String, Number> chart,
                                                                           final Region root)
focal_class.class_method_signature: StatDisplayUtils.createZoomOutGazeMetricsEventHandler(ImageView gazeMetrics, final Region root,
                                                                              int originalIndexInParent)
focal_class.full_signature: private static EventHandler<Event> createZoomOutGazeMetricsEventHandler(ImageView gazeMetrics, final Region root,
                                                                              int originalIndexInParent)
focal_class.identifier: createZoomOutGazeMetricsEventHandler
focal_class.modifiers: private static
focal_class.parameters: (ImageView gazeMetrics, final Region root,
                                                                              int originalIndexInParent)
focal_class.return: EventHandler<Event>
focal_class.signature: EventHandler<Event> createZoomOutGazeMetricsEventHandler(ImageView gazeMetrics, final Region root,
                                                                              int originalIndexInParent)
focal_class.class_method_signature: StatDisplayUtils.createZoomInGazeMetricsEventHandler(ImageView gazeMetrics, final Region root)
focal_class.full_signature: private static EventHandler<Event> createZoomInGazeMetricsEventHandler(ImageView gazeMetrics, final Region root)
focal_class.identifier: createZoomInGazeMetricsEventHandler
focal_class.modifiers: private static
focal_class.parameters: (ImageView gazeMetrics, final Region root)
focal_class.return: EventHandler<Event>
focal_class.signature: EventHandler<Event> createZoomInGazeMetricsEventHandler(ImageView gazeMetrics, final Region root)
focal_class.class_method_signature: StatDisplayUtils.zoomOutAndReset(Node node)
focal_class.full_signature: private static void zoomOutAndReset(Node node)
focal_class.identifier: zoomOutAndReset
focal_class.modifiers: private static
focal_class.parameters: (Node node)
focal_class.return: void
focal_class.signature: void zoomOutAndReset(Node node)
focal_class.class_method_signature: StatDisplayUtils.zoomInAndCenter(Node node, double initialWidth, double initialHeight, boolean preserveRatio)
focal_class.full_signature: private static void zoomInAndCenter(Node node, double initialWidth, double initialHeight, boolean preserveRatio)
focal_class.identifier: zoomInAndCenter
focal_class.modifiers: private static
focal_class.parameters: (Node node, double initialWidth, double initialHeight, boolean preserveRatio)
focal_class.return: void
focal_class.signature: void zoomInAndCenter(Node node, double initialWidth, double initialHeight, boolean preserveRatio)
focal_class.class_method_signature: StatDisplayUtils.convert(long totalTime)
focal_class.full_signature: public static String convert(long totalTime)
focal_class.identifier: convert
focal_class.modifiers: public static
focal_class.parameters: (long totalTime)
focal_class.return: String
focal_class.signature: String convert(long totalTime)
focal_method.body: public static String convert(long totalTime) {
          Duration duration = Duration.ofMillis(totalTime);
  
          // Extract the days from the duration, then take it away so we can format the rest of the string.
          long days = duration.toDaysPart();
          Duration durationLessDays = duration.minusDays(days);
  
          String result = "";
  
          if (days > 0) {
              result += String.format("%dd ", days);
          }
  
          return result + durationLessDays.toString()
              .substring(2)
              .replaceAll("(\\d[HMS])(?!$)", "$1 ")
              .toLowerCase();
      }
focal_method.class_method_signature: StatDisplayUtils.convert(long totalTime)
focal_method.full_signature: public static String convert(long totalTime)
focal_method.identifier: convert
focal_method.invocations: ofMillis toDaysPart minusDays format toLowerCase replaceAll substring toString
focal_method.modifiers: public static
focal_method.parameters: (long totalTime)
focal_method.return: String
focal_method.signature: String convert(long totalTime)