Class NumberRangeHistogram

java.lang.Object
net.jqwik.api.statistics.Histogram
net.jqwik.api.statistics.NumberRangeHistogram
All Implemented Interfaces:
StatisticsReportFormat

@API(status=EXPERIMENTAL, since="1.3.0") public class NumberRangeHistogram extends Histogram
A specialized type of Histogram to divide collected numbers into range-based clusters for display in a histogram.
  • Constructor Details

    • NumberRangeHistogram

      public NumberRangeHistogram()
  • Method Details

    • buckets

      protected int buckets()
      Determines the number of buckets into which the full range of collected numbers will be clustered.
      Returns:
      A number greater than 0
    • rangeLabel

      protected String rangeLabel(BigInteger min, BigInteger max, boolean maxIncluded)
      Determines how a range of numbers is being displayed.
      Parameters:
      min - The minimum value of the range (included)
      max - The maximum value of the range
      maxIncluded - If the maximum value is included in the range
      Returns:
      A string to describe the range
    • label

      protected final String label(StatisticsEntry entry)
      Does not make sense to override since these labels won't be used anyway
      Overrides:
      label in class Histogram
      Returns:
      A non-null string
    • comparator

      protected final Comparator<? super StatisticsEntry> comparator()
      Does not make sense to override since order does not matter for clustering anyway
      Overrides:
      comparator in class Histogram
      Returns:
      A comparator instance.
    • cluster

      protected final List<Histogram.Bucket> cluster(List<StatisticsEntry> entries)
      Does not make sense to override because this has the number range functionality
      Overrides:
      cluster in class Histogram
      Parameters:
      entries - An already sorted list of entries
      Returns:
      A sorted list of buckets