Kotest 제너레이터 목록(Generators List)

Kotlin의 제너레이터의 전체 목록에 대해 소개한다.

이 페이지에는 Kotest의 모든 현재 제너레이터가 나열되어 있다. 제너레이터에는 Arbitrary 제너레이터와 Exhaustive 제너레이터의 두 가지 유형이 있다.

대부분의 제너레이터는 모든 플랫폼에서 사용할 수 있다. 일부는 JVM 또는 JS 전용이다.

또한 별도의 모듈로 Arrow용 제너레이터를 제공한다.

제너레이터 설명 JVM JS Native
Nulls
arb.orNull() null 값이 혼합된 arb 인스턴스에서 임의의 값을 생성한다. 예를 들어 Arb.int().orNull()1, -1, null, 8, 17 등을 생성할 수 있다. Null 생성 빈도를 제어하기 위해 오버로드된 버전이 있다.
arb.orNull(nullProbability) 정의된 확률을 사용하여 null 값을 혼합하여 arb 인스턴스에서 임의의 값을 생성한다.
Booleans
Arb.boolean() Booleans을 생성하는 Arb를 반환한다.
Arb.booleanArray(length, content) length는 배열의 길이를 생성하고 content는 배열의 내용을 생성하는 BoolArray를 생성하는 Arb를 반환한다.
Exhaustive.boolean() 참과 거짓 사이의 대안.
Chars
Arb.char(range1, range2,...) 하나 이상의 지정된 범위에서 생성된 임의의 문자를 반환한다. 여러 범위를 지원함으로써 특정 비연속적인 문자 범위에 값을 채울 수 있다.
Arb.char(List<CharRange>) 문자 목록 전체에 분산된 문자를 반환한다. 예를 들어 Arb.char(listOf('A'..'C', 'X'..'Z'))는 동일한 확률로 A, B, C, X, Y, Z 값을 생성한다.
Arb.charArray(length, content) length는 배열의 길이를 생성하고 content는 배열의 내용을 생성하는 CharArray를 생성하는 Arb를 반환한다.
Constants
Arb.상수(t) 항상 t를 반환하는 Arb를 반환한다.
Bytes
Arb.byte(min, max) min에서 max(포함)까지 ‘Byte’를 생성하는 Arb를 반환한다. 극단적인 경우는 min, -1, 0, 1 및 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.PositiveByte(min, max) min에서 max(포함)까지 양의 ‘Byte’를 생성하는 Arb를 반환한다. 극단적인 경우는 1과 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.negativeByte(min, max) min에서 max(포함)까지 음의 ‘Byte’를 생성하는 Arb를 반환한다. 극단적인 경우는 min 및 -1이며 제공된 범위에 있는 경우에만 포함된다.
Arb.byteArray(length, content) length는 배열의 길이를 생성하고 content는 배열의 콘텐츠를 생성하는 ‘ByteArray’를 생성하는 Arb를 반환한다.
Arb.uByte(min, max) min에서 max(포함)까지 ‘UByte’를 생성하는 Arb를 반환한다. 극단적인 경우는 min, 1 및 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.uByteArray(length, content) length는 배열의 길이를 생성하고 content는 배열의 콘텐츠를 생성하는 ‘UByteArray’를 생성하는 Arb를 반환한다.
Shorts
Arb.short(min, max) min에서 max(포함)까지 ‘Short’를 생성하는 Arb를 반환한다. 극단적인 경우는 min, -1, 0, 1 및 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.긍정적Short(min, max) min에서 max(포함)까지 긍정적인 ‘Short’를 생성하는 Arb를 반환한다. 극단적인 경우는 1과 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.negativeShort(min, max) min에서 max(포함)까지 음의 ‘Short’를 생성하는 Arb를 반환한다. 극단적인 경우는 min 및 -1이며 제공된 범위에 있는 경우에만 포함된다.
Arb.shortArray(length, content) length는 배열의 길이를 생성하고 content는 배열의 콘텐츠를 생성하는 ‘ShortArray’를 생성하는 Arb를 반환한다.
Arb.uShort(min, max) min에서 max(포함)까지 ‘UShort’를 생성하는 Arb를 반환한다. 극단적인 경우는 min, 1 및 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.uShortArray(length, content) length는 배열의 길이를 생성하고 content는 배열의 콘텐츠를 생성하는 ‘UShortArray’를 생성하는 Arb를 반환한다.
Ints
Arb.int(min, max) min에서 max(포함)까지 ‘Int’를 생성하는 Arb를 반환한다. 극단적인 경우는 min, -1, 0, 1 및 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.긍정적Int(min, max) min에서 max(포함)까지 양의 ‘Int’를 생성하는 Arb를 반환한다. 극단적인 경우는 1과 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.nonNegativeInt(min, max) min에서 max(포함)까지 음수가 아닌 ‘Int’를 생성하는 Arb를 반환한다. 극단적인 경우는 0, 1 및 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.negativeInt(min, max) min에서 max(포함)까지 음의 ‘Int’를 생성하는 Arb를 반환한다. 극단적인 경우는 min 및 -1이며 제공된 범위에 있는 경우에만 포함된다.
Arb.nonPositiveInt(min, max) min에서 max(포함)까지 양수가 아닌 ‘Int’를 생성하는 Arb를 반환한다. 극단적인 경우는 min, -1 및 0이며 제공된 범위에 있는 경우에만 포함된다.
Arb.intArray(length, content) length는 배열의 길이를 생성하고 content는 배열의 내용을 생성하는 ‘IntArray’를 생성하는 Arb를 반환한다.
Arb.uInt(min, max) min에서 max(포함)까지 ‘UInt’를 생성하는 Arb를 반환한다. 극단적인 경우는 min, 1 및 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.uIntArray(length, content) length는 배열의 길이를 생성하고 content는 배열의 콘텐츠를 생성하는 ‘UIntArray’를 생성하는 Arb를 반환한다.
Exhaustive.ints(범위) 주어진 범위의 모든 정수를 반환한다.
Arb.multiple(k, max) 최대값까지 k의 배수를 생성한다. 엣지 케이스는 ‘0’이다.
Arb.factor(k) k의 인자를 생성한다.
Longs
Arb.long(min, max) min에서 max(포함)까지 Long을 생성하는 Arb를 반환한다. 극단적인 경우는 min, -1, 0, 1 및 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.긍정적 길이(min, max) min에서 max(포함)까지 양의 Long을 생성하는 Arb를 반환한다. 극단적인 경우는 1과 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.negativeLong(min, max) min에서 max(포함)까지 음의 Long을 생성하는 Arb를 반환한다. 극단적인 경우는 min 및 -1이며 제공된 범위에 있는 경우에만 포함된다.
Arb.longArray(length, content) ‘LongArray’를 생성하는 Arb를 반환한다. 여기서 length는 배열의 길이를 생성하고 content는 배열의 콘텐츠를 생성한다.
Arb.uLong(min, max) min에서 max(포함)까지 ‘ULong’을 생성하는 Arb를 반환한다. 극단적인 경우는 min, 1 및 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.uLongArray(length, content) length는 배열의 길이를 생성하고 content는 배열의 내용을 생성하는 ULongArray를 생성하는 Arb를 반환한다.
Exhaustive.longs(범위) 주어진 범위의 모든 롱을 반환한다.
Floats
Arb.float(min, max) min에서 max(포함)까지 Float을 생성하는 Arb를 반환한다. 극단적인 경우는 Float.NEGATIVE_INFINITY, min, -1.0, -Float.MIN_VALUE, -0.0, 0.0, Float.MIN_VALUE, 1.0, max, Float.POSITIVE_INFINITYFloat.NaN은 제공된 범위에 있는 경우에만 포함된다.
Arb.긍정적Float(min, max) min에서 max(포함)까지 양의 Float를 생성하는 Arb를 반환한다. Float.MIN_VALUE, 1.0, max, Float.POSITIVE_INFINITY는 제공된 범위에 있는 경우에만 포함된다.
Arb.negativeFloat(min, max) min에서 max(포함)까지 음의 Float을 생성하는 Arb를 반환한다. 극단적인 경우는 Float.NEGATIVE_INFINITY, min, -1.0 및 -Float.MIN_VALUE이며 제공된 범위에 있는 경우에만 포함된다.
Arb.numericFloat(min, max) min에서 max(포함)까지 숫자 Float를 생성하는 Arb를 반환한다. 극단적인 경우는 min, -1.0, -Float.MIN_VALUE, -0.0, 0.0, Float.MIN_VALUE, 1.0 및 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.floatArray(length, content) length는 배열의 길이를 생성하고 content는 배열의 콘텐츠를 생성하는 ‘FloatArray’를 생성하는 Arb를 반환한다.
Doubles
Arb.double(min, max) min에서 max(포함)까지 Double을 생성하는 Arb를 반환한다. 극단적인 경우는 Double.NEGATIVE_INFINITY, min, -1.0, -Double.MIN_VALUE, -0.0, 0.0, Double.MIN_VALUE, 1.0, max, Double.POSITIVE_INFINITYDouble.NaN은 제공된 범위에 있는 경우에만 포함된다.
Arb.긍정적 더블(min, max) min에서 max(포함)까지 양의 Double을 생성하는 Arb를 반환한다. Double.MIN_VALUE, 1.0, max, Double.POSITIVE_INFINITY는 제공된 범위에 있는 경우에만 포함된다.
Arb.negativeDouble(min, max) min에서 max(포함)까지 음의 Double을 생성하는 Arb를 반환한다. 극단적인 경우는 제공된 범위에 있는 경우에만 포함되는 Double.NEGATIVE_INFINITY, min, -1.0 및 -Double.MIN_VALUE이다.
Arb.numericDouble(min, max) min에서 max(포함)까지 숫자 Double을 생성하는 Arb를 반환한다. 극단적인 경우는 min, -1.0, -Double.MIN_VALUE, -0.0, 0.0, Double.MIN_VALUE, 1.0 및 max이며 제공된 범위에 있는 경우에만 포함된다.
Arb.doubleArray(length, content) length는 배열의 길이를 생성하고 content는 배열의 콘텐츠를 생성하는 ‘DoubleArray’를 생성하는 Arb를 반환한다.
Enums
Arb.enum<T>() 주어진 열거형에서 상수를 무작위로 선택한다.
Exhaustive.enum<T>() 주어진 열거형에 정의된 모든 상수를 반복한다.
Regional
localArb.() en_US 또는 ca_ES_VALENCIA와 같은 Java 형식으로 로케일을 생성한다.
Arb.timezoneCodeThree() BST 또는 EST와 같은 ABC 형식으로 시간대를 생성한다. 가능한 모든 시간대를 포함하지 않으며 데이터 샘플링에만 사용된다.
Arb.geoLocation() 지구본에 균일하게 분포된 임의의 위도/경도 지점을 사용하여 ‘GeoLocation’ 객체를 생성한다.
Strings
Arb.string(range) 주어진 범위에서 무작위로 선택한 크기로 인쇄 가능한 무작위 문자열을 생성한다. 범위를 지정하지 않으면 (0..100)이 사용된다. 극단적인 경우에는 빈 문자열, 빈 문자열 및 유니코드 문자열이 포함된다.
Arb.stringPattern(pattern) RgxGen을 사용하여 주어진 패턴과 일치하는 문자열을 생성한다.
Exhaustive.azstring(range) 지정된 범위의 모든 AZ 문자열을 반환한다. 예를 들어 범위가 1..2이면 a, b, c, …., yz, zz가 포함된다.
Arb.email(localPartGen, domainGen) 로컬 부분과 도메인 부분이 지정된 제너레이터에 의해 생성된 임의 문자열인 임의 이메일을 생성한다. 둘 다에 기본값이 제공된다.
Arb.emailLocalPart() 임의의 로컬 이메일 부분을 생성한다.
Arb.uuid(type) 지정된 유형의 무작위 UUID를 생성한다.
Arb.domain(tlds, labelArb) 임의의 tld(기본값은 상위 120개 TLD 중 하나로 설정됨)와 도메인 부분을 생성하는 레이블 제너레이터를 사용하여 임의의 도메인을 생성한다.
Builders
Arb.bind(arbA, arbB, fn) 주어진 두 개의 arb 각각에서 값을 가져온 다음 해당 값을 제공된 함수에 전달하여 값을 생성한다.
Arb.bind(arbA, arbB, arbC, fn) 주어진 세 개의 Arb 각각에서 값을 가져온 다음 해당 값을 제공된 함수에 전달하여 값을 생성한다.
Arb.bind(arbA, ...., fn) 주어진 각 arb에서 값을 가져온 다음 해당 값을 제공된 함수에 전달하여 값을 생성한다.
Combinatorics
Arb.choice(arbs) 주어진 Arb 중 하나를 무작위로 선택한 후 이를 사용하여 다음 요소를 생성한다.
Arb.choose(pairs) 가중치를 기준으로 값을 생성한다. 예를 들어 Arb.choose(1 to 'A', 2 to 'B')는 ‘A’를 33%, ‘B’를 66% 생성한다.
Arb.주파수(list) 선택할 별칭
Arb.shuffle(list) 목록의 무작위 순열을 생성한다. 예를 들어 Arb.shuffle(listOf(1,2,3))listOf(3,1,2), listOf(1,3,2) 등을 생성할 수 있다.
Arb.subsequence(list) 인덱스 0에서 시작하고 빈 목록을 포함하여 주어진 목록의 무작위 하위 시퀀스를 생성한다. 예를 들어 Arb.subsequence(listOf(1,2,3))listOf(1), listOf(1,2) 등을 생성할 수 있다.
Collections
Arb.element(collection) 주어진 컬렉션의 요소 중 하나를 무작위로 선택한다.
Arb.element(vararg T) 가변 인수에서 요소 중 하나를 무작위로 선택한다.
Arb.list(gen, range) 지정된 요소 제너레이터에 의해 값이 생성되는 목록을 생성한다. 각 목록의 크기는 지정된 범위에 따라 무작위로 결정된다.
Arb.set(gen, range) 지정된 요소 제너레이터에 의해 값이 생성되는 세트를 생성한다. 각 세트의 크기는 지정된 범위에 따라 무작위로 결정된다. Slippage 인수는 기본 arb에 설정된 크기를 충족할 만큼 고유한 값이 충분하지 않은 경우 오류가 발생하기 전에 각 요소를 생성하기 위해 시도할 횟수를 지정한다.
Arb.set(gen, range, slippage) 지정된 요소 제너레이터에 의해 값이 생성되는 세트를 생성한다. 각 세트의 크기는 지정된 범위에 따라 무작위로 결정된다.
Arb<T>.chunked(range) 각 목록이 이 수신기의 요소로 채워지는 목록을 생성한다. 각 사이즈의 사이즈는 주어진 범위 내에서 무작위로 선택된다.
Arb<T>.chunked(minSize, maxSize) 각 목록이 이 수신기의 요소로 채워지는 목록을 생성한다. 각 크기의 크기는 주어진 범위 매개변수 내에서 무작위로 선택된다.
Exhaustive.collection(list) 목록의 각 요소를 하나씩 열거한다.
Maps
Arb.map(Arb<Pair<K,V>>, minSize, maxSize) minSizemaxSize 사이의 크기를 갖는 무작위 맵과 지정된 쌍 임의 선택에서 생성된 각 요소를 생성한다.
Arb.map(Arb<K>, Arb<V>, minSize, maxSize) minSizemaxSize 사이의 크기를 갖는 무작위 맵과 지정된 키 arb에서 생성된 각 키 및 지정된 값 arb에서 생성된 각 값을 생성한다.
Tuples
Arb.pair(arb1, arb2) 제공된 두 개의 Arb에서 쌍의 각 값을 가져오는 ‘Pair’ 인스턴스를 생성한다.
Arb.triple(arb1, arb2, arb3) 제공된 3개의 Arb에서 트리플의 각 값을 가져오는 Triple 인스턴스를 생성한다.
Dates
Arb.date(range) 주어진 범위 사이의 연도를 사용하여 임의의 날짜를 생성한다.
Arb.datetime(range) 주어진 범위 사이의 연도를 사용하여 임의의 날짜 시간을 생성한다.
Arb.localDateTime(range) 주어진 범위 사이의 연도를 사용하여 임의의 LocalDateTime을 생성한다.
Arb.localDate(range) 주어진 범위 사이의 연도를 사용하여 임의의 LocalDate를 생성한다.
Durations
Arb.duration(range) 지정된 범위에서 임의의 기간을 생성한다.
Kotlinx 날짜/시간 io.kotest.extensions:kotest-property-datetime 모듈 필요
Arb.date(yearRange) 주어진 범위와 다른 필드 사이의 연도를 사용하여 LocalDate를 무작위로 생성한다.
Arb.datetime(yearRange, hourRange, MinuteRange, secondRage) 주어진 범위의 모든 필드를 사용하여 LocalDateTime을 생성한다.
Arb.instant(range) 주어진 범위에서 무작위로 생성된 에포크(epoch)로 Instant를 생성한다.
Networking
Arb.ipAddressV4() abcd 형식으로 임의의 IP 주소를 생성한다. 여기서 각 부분은 0에서 255 사이이다.

참조




최종 수정 : 2024-04-23