Interface NumberSpec<T extends Number>

All Superinterfaces:
AsGeneratorSpec<T>, GeneratorSpec<T>, NullableGeneratorSpec<T>, NumberGeneratorSpec<T>, Supplier<T>, ValueSpec<T>
All Known Subinterfaces:
BigIntegerSpec, ByteSpec, DoubleSpec, FloatSpec, IntegerSpec, LongSpec, ShortSpec

public interface NumberSpec<T extends Number> extends ValueSpec<T>, NumberGeneratorSpec<T>
Spec for generating Number types.
Since:
2.6.0
  • Method Details

    • min

      NumberSpec<T> min(T min)
      Specifies the lower bound.
      Specified by:
      min in interface NumberGeneratorSpec<T extends Number>
      Parameters:
      min - lower bound (inclusive)
      Returns:
      spec builder
      Since:
      2.6.0
    • max

      NumberSpec<T> max(T max)
      Specifies the upper bound.
      Specified by:
      max in interface NumberGeneratorSpec<T extends Number>
      Parameters:
      max - upper bound (inclusive)
      Returns:
      spec builder
      Since:
      2.6.0
    • range

      NumberSpec<T> range(T min, T max)
      Specifies the range for generated numbers.

      The following examples use int, however the same principle applies to all numeric types, including BigInteger and BigDecimal.

      This method can be invoked multiple times to specify several ranges, for example, the following will generate a random value within [10-15] or [20-25]:

      
         ints().range(10, 15).range(20, 25)
       
      Note: this method has higher precedence than NumberGeneratorSpec.min(Number) and NumberGeneratorSpec.max(Number). For example, the following will generate a number within [1, 5]:
      
         ints().range(1, 5).min(95).max(99)
       
      Specified by:
      range in interface NumberGeneratorSpec<T extends Number>
      Parameters:
      min - lower bound (inclusive)
      max - upper bound (inclusive)
      Returns:
      spec builder
      Since:
      2.6.0
    • nullable

      NumberSpec<T> nullable()
      Specifies that a null value can be generated
      Specified by:
      nullable in interface NullableGeneratorSpec<T extends Number>
      Specified by:
      nullable in interface NumberGeneratorSpec<T extends Number>
      Specified by:
      nullable in interface ValueSpec<T extends Number>
      Returns:
      spec builder reference
      Since:
      2.6.0