All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.jqwik.api.GenerationMode Maven / Gradle / Ivy

The newest version!
package net.jqwik.api;

import org.apiguardian.api.*;

import static org.apiguardian.api.API.Status.*;

/**
 * The generation mode defines the generation behaviour of a property.
 * It can be set in {@linkplain Property#generation()} for any property method; default is {@linkplain #AUTO}.
 *
 * @see Property
 * @see FromData
 */
@API(status = MAINTAINED, since = "1.0")
public enum GenerationMode {
	/**
	 * Use randomized value generation.
	 */
	RANDOMIZED,

	/**
	 * Use exhaustive generation. Only possible if all used arbitraries can
	 * provide exhaustive generators.
	 */
	EXHAUSTIVE,

	/**
	 * Use data specified in {@linkplain FromData} annotation
	 */
	DATA_DRIVEN,

	/**
	 * Let jqwik choose which generation mode it prefers:
	 * 
    *
  • If all arbitraries provide exhaustive generators and * if the multiplication of all maxCount() values is ≤ * {@linkplain Property#tries()} use {@linkplain #EXHAUSTIVE}
  • *
  • If the property has a {@linkplain FromData} annotation * use {@linkplain #DATA_DRIVEN}
  • *
  • In all other cases use {@linkplain #RANDOMIZED}
  • *
*/ AUTO, @API(status = INTERNAL) NOT_SET }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy