Inject Randomness with RandomData Library

In the world of Android Development, generating random data can be a crucial need, especially for testing and prototyping. The RandomData library, an open-source project by EliteLoser, is a well-crafted toolkit designed to fulfill this need efficiently. Utilizing Kotlin for its implementation, RandomData brings simplicity and ease of use to the table.

The key features of RandomData include:

  1. Generation of random strings, numbers, dates, and times, easing the testing of various data types.
  2. Creation of random arrays, lists, and sets, facilitating the testing of data structures.
  3. Forming random objects and entities, aiding in the realistic testing of object-oriented code.

Getting started with RandomData is a breeze. Incorporate the following dependency in your Android project:

dependencies {
    implementation 'com.github.EliteLoser:randomdata:1.2.0'
}

Here's a glimpse of the simplicity RandomData offers in generating random data:

// Craft a random string
val randomString = RandomData.getString(10)

// Whip up a random number
val randomNumber = RandomData.getNumber(1, 100)

// Form a random date
val randomDate = RandomData.getDate()

// Create a random time
val randomTime = RandomData.getTime()

// Forge a random array
val randomArray = RandomData.getArray(10, { RandomData.getString(10) })

// Generate a random list
val randomList = RandomData.getList(10, { RandomData.getString(10) })

// Shape a random set
val randomSet = RandomData.getSet(10, { RandomData.getString(10) })

// Mold a random object
val randomObject = RandomData.getObject(Person::class.java)

The generated random data can be witnessed post-execution, covering a wide spectrum of data types and structures.

Moreover, RandomData extends the power of customization to the users. By tweaking the methods within the RandomData class, one can define their own logic for random data generation:

// Customized random string with letters and numbers
val randomString = RandomData.getString(10, {
    RandomData.getChar()
})

// Customized random number within a specified range
val randomNumber = RandomData.getNumber(1, 1000)
...