mirror of
https://github.com/jlengrand/atrium.git
synced 2026-03-10 08:01:19 +00:00
Merge pull request #369 from name213/#313-chronoLocalDateAssertions_for_the_new_infix_API
#313 migrate chronoLocalDateAssertions for infix api
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
@file:Suppress("JAVA_MODULE_DOES_NOT_READ_UNNAMED_MODULE" /* TODO remove once https://youtrack.jetbrains.com/issue/KT-35343 is fixed */)
|
||||
|
||||
package ch.tutteli.atrium.api.infix.en_GB
|
||||
|
||||
import ch.tutteli.atrium.creating.Expect
|
||||
import ch.tutteli.atrium.domain.builders.ExpectImpl
|
||||
import ch.tutteli.atrium.domain.builders.chronoLocalDate
|
||||
import java.time.chrono.ChronoLocalDate
|
||||
|
||||
/**
|
||||
* Expects that the subject of the assertion (a [ChronoLocalDate])
|
||||
* is before the [expected] [ChronoLocalDate].
|
||||
*
|
||||
* @return This assertion container to support a fluent API.
|
||||
* @throws AssertionError Might throw an [AssertionError] if the assertion made is not correct.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*/
|
||||
infix fun <T : ChronoLocalDate> Expect<T>.isBefore(expected: ChronoLocalDate): Expect<T> =
|
||||
addAssertion(ExpectImpl.chronoLocalDate.isBefore(this, expected))
|
||||
|
||||
/**
|
||||
* Expects that the subject of the assertion (a [ChronoLocalDate])
|
||||
* is before or equal the [expected] [ChronoLocalDate].
|
||||
*
|
||||
* @return This assertion container to support a fluent API.
|
||||
* @throws AssertionError Might throw an [AssertionError] if the assertion made is not correct.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*/
|
||||
infix fun <T : ChronoLocalDate> Expect<T>.isBeforeOrEqual(expected: ChronoLocalDate): Expect<T> =
|
||||
addAssertion(ExpectImpl.chronoLocalDate.isBeforeOrEquals(this, expected))
|
||||
|
||||
|
||||
/**
|
||||
* Expects that the subject of the assertion (a [ChronoLocalDate])
|
||||
* is after the [expected] [ChronoLocalDate].
|
||||
*
|
||||
* @return This assertion container to support a fluent API.
|
||||
* @throws AssertionError Might throw an [AssertionError] if the assertion made is not correct.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*/
|
||||
infix fun <T : ChronoLocalDate> Expect<T>.isAfter(expected: ChronoLocalDate): Expect<T> =
|
||||
addAssertion(ExpectImpl.chronoLocalDate.isAfter(this, expected))
|
||||
|
||||
/**
|
||||
* Expects that the subject of the assertion (a [ChronoLocalDate])
|
||||
* is after or equal the [expected] [ChronoLocalDate].
|
||||
*
|
||||
* @return This assertion container to support a fluent API.
|
||||
* @throws AssertionError Might throw an [AssertionError] if the assertion made is not correct.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*/
|
||||
infix fun <T : ChronoLocalDate> Expect<T>.isAfterOrEqual(expected: ChronoLocalDate): Expect<T> =
|
||||
addAssertion(ExpectImpl.chronoLocalDate.isAfterOrEquals(this, expected))
|
||||
|
||||
/**
|
||||
* Expects that the subject of the assertion (a [ChronoLocalDate])
|
||||
* is equal to the [expected] [ChronoLocalDate].
|
||||
*
|
||||
* @return This assertion container to support a fluent API.
|
||||
* @throws AssertionError Might throw an [AssertionError] if the assertion made is not correct.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*/
|
||||
infix fun <T : ChronoLocalDate> Expect<T>.isEqual(expected: ChronoLocalDate): Expect<T> =
|
||||
addAssertion(ExpectImpl.chronoLocalDate.isEqual(this, expected))
|
||||
@@ -0,0 +1,59 @@
|
||||
package kotlin.ch.tutteli.atrium.api.infix.en_GB.jdk8
|
||||
|
||||
import ch.tutteli.atrium.creating.Expect
|
||||
import ch.tutteli.atrium.specs.fun1
|
||||
import ch.tutteli.atrium.specs.notImplemented
|
||||
import java.time.LocalDate
|
||||
import java.time.chrono.ChronoLocalDate
|
||||
import java.time.chrono.JapaneseDate
|
||||
|
||||
class ChronoLocalDateAssertionsSpec : ch.tutteli.atrium.specs.integration.ChronoLocalDateAssertionSpec(
|
||||
fun1(Expect<ChronoLocalDate>::isBefore),
|
||||
fun1(Expect<ChronoLocalDate>::isBeforeOrEqual),
|
||||
fun1(Expect<ChronoLocalDate>::isAfter),
|
||||
fun1(Expect<ChronoLocalDate>::isAfterOrEqual),
|
||||
fun1(Expect<ChronoLocalDate>::isEqual)
|
||||
) {
|
||||
@Suppress("unused", "UNUSED_VALUE")
|
||||
private fun ambiguityTest() {
|
||||
val chronoLocalDate: ChronoLocalDate = notImplemented()
|
||||
var a1: Expect<ChronoLocalDate> = notImplemented()
|
||||
var a2: Expect<LocalDate> = notImplemented()
|
||||
|
||||
a1 = a1 isBefore LocalDate.now()
|
||||
a1 = a1 isBeforeOrEqual LocalDate.now()
|
||||
a1 = a1 isAfter LocalDate.now()
|
||||
a1 = a1 isAfterOrEqual LocalDate.now()
|
||||
a1 = a1 isEqual LocalDate.now()
|
||||
|
||||
a2 = a2 isBefore LocalDate.now()
|
||||
a2 = a2 isBeforeOrEqual LocalDate.now()
|
||||
a2 = a2 isAfter LocalDate.now()
|
||||
a2 = a2 isAfterOrEqual LocalDate.now()
|
||||
a2 = a2 isEqual LocalDate.now()
|
||||
|
||||
a1 = a1 isBefore JapaneseDate.now()
|
||||
a1 = a1 isBeforeOrEqual JapaneseDate.now()
|
||||
a1 = a1 isAfter JapaneseDate.now()
|
||||
a1 = a1 isAfterOrEqual JapaneseDate.now()
|
||||
a1 = a1 isEqual JapaneseDate.now()
|
||||
|
||||
a2 = a2 isBefore JapaneseDate.now()
|
||||
a2 = a2 isBeforeOrEqual JapaneseDate.now()
|
||||
a2 = a2 isAfter JapaneseDate.now()
|
||||
a2 = a2 isAfterOrEqual JapaneseDate.now()
|
||||
a2 = a2 isEqual JapaneseDate.now()
|
||||
|
||||
a1 = a1 isBefore chronoLocalDate
|
||||
a1 = a1 isBeforeOrEqual chronoLocalDate
|
||||
a1 = a1 isAfter chronoLocalDate
|
||||
a1 = a1 isAfterOrEqual chronoLocalDate
|
||||
a1 = a1 isEqual chronoLocalDate
|
||||
|
||||
a2 = a2 isBefore chronoLocalDate
|
||||
a2 = a2 isBeforeOrEqual chronoLocalDate
|
||||
a2 = a2 isAfter chronoLocalDate
|
||||
a2 = a2 isAfterOrEqual chronoLocalDate
|
||||
a2 = a2 isEqual chronoLocalDate
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user