LocalDateTimeRangeSource

@SourceProvider(value = LocalDateTimeRangeDataProvider::class)
annotation class LocalDateTimeRangeSource(val min: String, val max: String, val increment: String = "PT1h", val ascending: Boolean = true, val dateTimeFormat: String = "yyyy-MM-dd HH:mm")

Annotation to indicate that the annotated LocalDateTime parameter should be populated with a LocalDateTime range from min to max with an increment step in the ascending direction. The default increment is 1 hour. The default ascending is true.

Samples

import assertk.Assert
import assertk.all
import assertk.assertThat
import assertk.assertions.isBetween
import assertk.assertions.isIn
import assertk.assertions.isLessThan
import assertk.assertions.support.expected
import com.wesleyhome.test.jupiter.annotations.GeneratedParametersTest
import com.wesleyhome.test.jupiter.annotations.StringSource
import com.wesleyhome.test.jupiter.annotations.datetime.InstantRangeSource
import com.wesleyhome.test.jupiter.annotations.datetime.InstantSource
import com.wesleyhome.test.jupiter.annotations.datetime.LocalDateRangeSource
import com.wesleyhome.test.jupiter.annotations.datetime.LocalDateSource
import com.wesleyhome.test.jupiter.annotations.datetime.LocalDateTimeRangeSource
import com.wesleyhome.test.jupiter.annotations.datetime.LocalDateTimeSource
import com.wesleyhome.test.jupiter.annotations.datetime.LocalTimeRangeSource
import com.wesleyhome.test.jupiter.annotations.datetime.LocalTimeSource
import com.wesleyhome.test.jupiter.annotations.datetime.RandomInstantSource
import com.wesleyhome.test.jupiter.annotations.number.DoubleRangeSource
import com.wesleyhome.test.jupiter.annotations.number.DoubleSource
import com.wesleyhome.test.jupiter.annotations.number.FloatRangeSource
import com.wesleyhome.test.jupiter.annotations.number.FloatSource
import com.wesleyhome.test.jupiter.annotations.number.IntRangeSource
import com.wesleyhome.test.jupiter.annotations.number.IntSource
import com.wesleyhome.test.jupiter.annotations.number.LongRangeSource
import com.wesleyhome.test.jupiter.annotations.number.LongSource
import java.time.Instant
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.LocalTime
import java.time.temporal.ChronoUnit

fun main() { 
   //sampleStart 
   /**
 * This will generate tests with random LocalTime values
 * between 12:00 and 19:00 with 1 hour increments
 */
@GeneratedParametersTest
fun testLocalTimeRangeSource(
    @LocalTimeRangeSource(
        min = "12:00",
        max = "19:00"
    )
    value: LocalTime
) {
    assertThat(value).isBetween(
        LocalTime.parse("12:00"),
        LocalTime.parse("19:00")
    )
} 
   //sampleEnd
}

Properties

Link copied to clipboard
val ascending: Boolean = true
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val max: String
Link copied to clipboard
val min: String