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_INFINITY 및 Float.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_INFINITY 및 Double.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) |
minSize 와 maxSize 사이의 크기를 갖는 무작위 맵과 지정된 쌍 임의 선택에서 생성된 각 요소를 생성한다. |
✓ | ✓ | ✓ |
Arb.map(Arb<K>, Arb<V>, minSize, maxSize) |
minSize 와 maxSize 사이의 크기를 갖는 무작위 맵과 지정된 키 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