diff --git a/core/src/integration/kotlin/io/github/serpro69/kfaker/docs/Extras.kt b/core/src/integration/kotlin/io/github/serpro69/kfaker/docs/Extras.kt index c34a90d30..690b0a84e 100644 --- a/core/src/integration/kotlin/io/github/serpro69/kfaker/docs/Extras.kt +++ b/core/src/integration/kotlin/io/github/serpro69/kfaker/docs/Extras.kt @@ -90,10 +90,85 @@ class Extras : DescribeSpec({ } describe("Random Everything") { + it("should generate random stuff") { + // START extras_random_everything_one + faker.random.nextBoolean() + faker.random.nextChar() + faker.random.nextDouble() + faker.random.nextFloat() + faker.random.nextInt() + faker.random.nextInt(bound = 100) + faker.random.nextInt(min = 100, max = 999) + faker.random.nextInt(intRange = (0..99)) + faker.random.nextLetter(upper = false) + // END extras_random_everything_one + } - } - // START extras_random_instance_ - // END extras_random_instance_ + it("should generate random enum") { + // START extras_random_everything_three + faker.random.nextEnum() + faker.random.nextEnum(enum = Foo::class.java) + faker.random.nextEnum(values = Foo.values()) + faker.random.nextEnum(enum = Foo::class.java) { it != Foo.ONE } + faker.random.nextEnum(excludeName = "ONE") + // END extras_random_everything_three + } + + it("should generate random string of English chars") { + // START extras_random_everything_four + faker.random.randomAlphanumeric( + length = 10, + numericalChars = false + ) + // END extras_random_everything_four + } + + it("should generate random string in a given locale") { + // START extras_random_everything_five + faker.random.nextString( + length = 21, + locale = Locale.forLanguageTag("nb-NO"), + auxiliaryChars = true, + numericalChars = true + ) + // END extras_random_everything_five + } + + it("should generate random sublist") { + // START extras_random_everything_six + val list = List(100) { it } + faker.random.randomSublist(list, size = 10, shuffled = true) + // END extras_random_everything_six + } + it("should generate random subset") { + // START extras_random_everything_seven + val set = setOf(*List(100) { it }.toTypedArray()) + faker.random.randomSubset(set, size = 10, shuffled = true) + // END extras_random_everything_seven + } + + it("should return random element from a list") { + // START extras_random_everything_eight + val list = listOf(1, 2, 3) + faker.random.randomValue(list) + // END extras_random_everything_eight + } + + it("should generate random UUID") { + // START extras_random_everything_nine + faker.random.nextUUID() + // END extras_random_everything_nine + } + + } }) +// START extras_random_everything_two +enum class Foo { + ONE, + TWO, + FORTY_TWO +} +// END extras_random_everything_two + diff --git a/docs/src/orchid/resources/wiki/extras.md b/docs/src/orchid/resources/wiki/extras.md index 094d645fd..4922d067e 100644 --- a/docs/src/orchid/resources/wiki/extras.md +++ b/docs/src/orchid/resources/wiki/extras.md @@ -166,7 +166,95 @@ The above has the following rules: Faker provides its wrapper functions around `java.util.Random` (with some additional functionality that is not covered by `java.util.Random`) through `Faker().random` property. -==TODO examples== +### Wrappers around `java.util.Random` + +{% tabs %} + +{% kotlin "Kotlin" %} +{% filter compileAs('md') %} +```kotlin +{% snippet 'extras_random_everything_one' %} +``` +{% endfilter %} +{% endkotlin %} + +{% endtabs %} + +### Random Enum Instance + +{% tabs %} + +{% kotlin "Kotlin" %} +{% filter compileAs('md') %} +```kotlin +{% snippet 'extras_random_everything_two' %} + +{% snippet 'extras_random_everything_three' %} +``` +{% endfilter %} +{% endkotlin %} + +{% endtabs %} + +### Random Strings + +{% tabs %} + +{% kotlin "Kotlin" %} +{% filter compileAs('md') %} +```kotlin +{% snippet 'extras_random_everything_four' %} + +{% snippet 'extras_random_everything_five' %} +``` +{% endfilter %} +{% endkotlin %} + +{% endtabs %} + +### Random sub-lists and sub-sets + +{% tabs %} + +{% kotlin "Kotlin" %} +{% filter compileAs('md') %} +```kotlin +{% snippet 'extras_random_everything_six' %} + +{% snippet 'extras_random_everything_seven' %} +``` +{% endfilter %} +{% endkotlin %} + +{% endtabs %} + +### Random element from a list/array + +{% tabs %} + +{% kotlin "Kotlin" %} +{% filter compileAs('md') %} +```kotlin +{% snippet 'extras_random_everything_eight' %} +``` +{% endfilter %} +{% endkotlin %} + +{% endtabs %} + +### Random UUID + +{% tabs %} + +{% kotlin "Kotlin" %} +{% filter compileAs('md') %} +```kotlin +{% snippet 'extras_random_everything_nine' %} +``` +{% endfilter %} +{% endkotlin %} + +{% endtabs %} {% btc %}{% endbtc %}