Skip to content

Commit

Permalink
Merge pull request #941 from dias-wagner/dias-wagner/infix-chrono-exp…
Browse files Browse the repository at this point in the history
…ectations-samples

Add ChronoLocalDate, ChronoLocalDateTime and ChronoZonedDateTime expe…
  • Loading branch information
robstoll authored Jun 17, 2021
2 parents 1ad5639 + 7d0a5d4 commit c33d049
Show file tree
Hide file tree
Showing 6 changed files with 354 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ import java.time.chrono.ChronoLocalDate
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateExpectationSamples.toBeBeforeChronoLocalDate
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDate> Expect<T>.toBeBefore(expected: ChronoLocalDate): Expect<T> =
Expand All @@ -27,6 +29,8 @@ infix fun <T : ChronoLocalDate> Expect<T>.toBeBefore(expected: ChronoLocalDate):
* @return an [Expect] for the subject of `this` expectation.
* @throws [IllegalArgumentException] in case [expected] is not in the form of **yyyy-mm-dd**
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateExpectationSamples.toBeBeforeString
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDate> Expect<T>.toBeBefore(expected: String): Expect<T> =
Expand All @@ -39,6 +43,8 @@ infix fun <T : ChronoLocalDate> Expect<T>.toBeBefore(expected: String): Expect<T
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateExpectationSamples.toBeBeforeOrTheSamePointInTimeAsChronoLocalDate
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDate> Expect<T>.toBeBeforeOrTheSamePointInTimeAs(expected: ChronoLocalDate): Expect<T> =
Expand All @@ -52,6 +58,8 @@ infix fun <T : ChronoLocalDate> Expect<T>.toBeBeforeOrTheSamePointInTimeAs(expec
* @return an [Expect] for the subject of `this` expectation.
* @throws [IllegalArgumentException] in case [expected] is not in the form of **yyyy-mm-dd**
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateExpectationSamples.toBeBeforeOrTheSamePointInTimeAsString
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDate> Expect<T>.toBeBeforeOrTheSamePointInTimeAs(expected: String): Expect<T> =
Expand All @@ -64,6 +72,8 @@ infix fun <T : ChronoLocalDate> Expect<T>.toBeBeforeOrTheSamePointInTimeAs(expec
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateExpectationSamples.toBeTheSamePointInTimeAsChronoLocalDate
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDate> Expect<T>.toBeTheSamePointInTimeAs(expected: ChronoLocalDate): Expect<T> =
Expand All @@ -76,6 +86,8 @@ infix fun <T : ChronoLocalDate> Expect<T>.toBeTheSamePointInTimeAs(expected: Chr
* @return an [Expect] for the subject of `this` expectation.
* @throws [IllegalArgumentException] in case [expected] is not in the form of **yyyy-mm-dd**
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateExpectationSamples.toBeTheSamePointInTimeAsString
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDate> Expect<T>.toBeTheSamePointInTimeAs(expected: String): Expect<T> =
Expand All @@ -88,6 +100,8 @@ infix fun <T : ChronoLocalDate> Expect<T>.toBeTheSamePointInTimeAs(expected: Str
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateExpectationSamples.toBeAfterOrTheSamePointInTimeAsChronoLocalDate
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDate> Expect<T>.toBeAfterOrTheSamePointInTimeAs(expected: ChronoLocalDate): Expect<T> =
Expand All @@ -100,6 +114,8 @@ infix fun <T : ChronoLocalDate> Expect<T>.toBeAfterOrTheSamePointInTimeAs(expect
* @return an [Expect] for the subject of `this` expectation.
* @throws [IllegalArgumentException] in case [expected] is not in the form of **yyyy-mm-dd**
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateExpectationSamples.toBeAfterOrTheSamePointInTimeAsString
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDate> Expect<T>.toBeAfterOrTheSamePointInTimeAs(expected: String): Expect<T> =
Expand All @@ -112,6 +128,8 @@ infix fun <T : ChronoLocalDate> Expect<T>.toBeAfterOrTheSamePointInTimeAs(expect
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateExpectationSamples.toBeAfterChronoLocalDate
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDate> Expect<T>.toBeAfter(expected: ChronoLocalDate): Expect<T> =
Expand All @@ -124,6 +142,8 @@ infix fun <T : ChronoLocalDate> Expect<T>.toBeAfter(expected: ChronoLocalDate):
* @return an [Expect] for the subject of `this` expectation.
* @throws [IllegalArgumentException] in case [expected] is not in the form of **yyyy-mm-dd**
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateExpectationSamples.toBeAfterString
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDate> Expect<T>.toBeAfter(expected: String): Expect<T> =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ import java.time.chrono.ChronoLocalDateTime
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateTimeExpectationSamples.toBeBeforeChronoLocalDateTime
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeBefore(
Expand All @@ -37,6 +39,8 @@ infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeBefore(
* @return an [Expect] for the subject of `this` expectation.
* @throws [java.time.DateTimeException] in case an unsupported format is given.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateTimeExpectationSamples.toBeBeforeString
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeBefore(
Expand All @@ -50,6 +54,8 @@ infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeBefore(
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateTimeExpectationSamples.toBeBeforeOrTheSamePointInTimeAsChronoLocalDateTime
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeBeforeOrTheSamePointInTimeAs(
Expand All @@ -71,6 +77,8 @@ infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeBeforeOrT
* @return an [Expect] for the subject of `this` expectation.
* @throws [java.time.DateTimeException] in case an unsupported format is given.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateTimeExpectationSamples.toBeAfterOrTheSamePointInTimeAsString
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeBeforeOrTheSamePointInTimeAs(
Expand All @@ -84,6 +92,8 @@ infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeBeforeOrT
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateTimeExpectationSamples.toBeTheSamePointInTimeAsChronoLocalDateTime
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeTheSamePointInTimeAs(
Expand All @@ -104,6 +114,8 @@ infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeTheSamePo
* @return an [Expect] for the subject of `this` expectation.
* @throws [java.time.DateTimeException] in case an unsupported format is given.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateTimeExpectationSamples.toBeTheSamePointInTimeAsString
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeTheSamePointInTimeAs(
Expand All @@ -117,6 +129,8 @@ infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeTheSamePo
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateTimeExpectationSamples.toBeAfterOrTheSamePointInTimeAsChronoLocalDateTime
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeAfterOrTheSamePointInTimeAs(
Expand All @@ -138,6 +152,8 @@ infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeAfterOrTh
* @return an [Expect] for the subject of `this` expectation.
* @throws [java.time.DateTimeException] in case an unsupported format is given.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateTimeExpectationSamples.toBeAfterOrTheSamePointInTimeAsString
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeAfterOrTheSamePointInTimeAs(
Expand All @@ -151,6 +167,8 @@ infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeAfterOrTh
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateTimeExpectationSamples.toBeAfterChronoLocalDateTime
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeAfter(
Expand All @@ -172,6 +190,8 @@ infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeAfter(
* @return an [Expect] for the subject of `this` expectation.
* @throws [java.time.DateTimeException] in case an unsupported format is given.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoLocalDateTimeExpectationSamples.toBeAfterString
*
* @since 0.17.0
*/
infix fun <T : ChronoLocalDateTime<out ChronoLocalDate>> Expect<T>.toBeAfter(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ import java.time.chrono.ChronoZonedDateTime
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoZonedDateTimeExpectationSamples.toBeBeforeChronoZonedDateTime
*
* @since 0.17.0
*/
infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeBefore(
Expand Down Expand Up @@ -51,6 +53,8 @@ infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeBefore(
* @return an [Expect] for the subject of `this` expectation.
* @throws [java.time.DateTimeException] in case an unsupported format is given.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoZonedDateTimeExpectationSamples.toBeBeforeString
*
* @since 0.17.0
*/
infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeBefore(
Expand All @@ -64,6 +68,8 @@ infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeBefore(
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoZonedDateTimeExpectationSamples.toBeBeforeOrTheSamePointInTimeAsChronoZonedDateTime
*
* @since 0.17.0
*/
infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeBeforeOrTheSamePointInTimeAs(
Expand Down Expand Up @@ -98,6 +104,8 @@ infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeBeforeOrT
* @return an [Expect] for the subject of `this` expectation.
* @throws [java.time.DateTimeException] in case an unsupported format is given.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoZonedDateTimeExpectationSamples.toBeBeforeOrTheSamePointInTimeAsString
*
* @since 0.17.0
*/
infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeBeforeOrTheSamePointInTimeAs(
Expand All @@ -111,6 +119,8 @@ infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeBeforeOrT
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoZonedDateTimeExpectationSamples.toBeTheSamePointInTimeAsChronoZonedDateTime
*
* @since 0.17.0
*/
infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeTheSamePointInTimeAs(
Expand Down Expand Up @@ -145,6 +155,8 @@ infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeTheSamePo
* @return an [Expect] for the subject of `this` expectation.
* @throws [java.time.DateTimeException] in case an unsupported format is given.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoZonedDateTimeExpectationSamples.toBeTheSamePointInTimeAsString
*
* @since 0.17.0
*/
infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeTheSamePointInTimeAs(
Expand All @@ -158,6 +170,8 @@ infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeTheSamePo
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoZonedDateTimeExpectationSamples.toBeAfterOrTheSamePointInTimeAsChronoZonedDateTime
*
* @since 0.17.0
*/
infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeAfterOrTheSamePointInTimeAs(
Expand Down Expand Up @@ -192,6 +206,8 @@ infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeAfterOrTh
* @return an [Expect] for the subject of `this` expectation.
* @throws [java.time.DateTimeException] in case an unsupported format is given.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoZonedDateTimeExpectationSamples.toBeAfterOrTheSamePointInTimeAsString
*
* @since 0.17.0
*/
infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeAfterOrTheSamePointInTimeAs(
Expand All @@ -205,6 +221,8 @@ infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeAfterOrTh
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoZonedDateTimeExpectationSamples.toBeAfterChronoZonedDateTime
*
* @since 0.17.0
*/
infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeAfter(
Expand Down Expand Up @@ -239,6 +257,8 @@ infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeAfter(
* @return an [Expect] for the subject of `this` expectation.
* @throws [java.time.DateTimeException] in case an unsupported format is given.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.ChronoZonedDateTimeExpectationSamples.toBeAfterString
*
* @since 0.17.0
*/
infix fun <T : ChronoZonedDateTime<out ChronoLocalDate>> Expect<T>.toBeAfter(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package ch.tutteli.atrium.api.infix.en_GB.samples

import ch.tutteli.atrium.api.infix.en_GB.*
import ch.tutteli.atrium.api.verbs.internal.expect
import java.time.LocalDate
import java.time.Month
import kotlin.test.Test

class ChronoLocalDateExpectationSamples {

@Test
fun toBeBeforeChronoLocalDate() {
expect(LocalDate.of(2021, Month.JUNE, 6)) toBeBefore LocalDate.of(2021, Month.JULY, 1)
}

@Test
fun toBeBeforeString() {
expect(LocalDate.of(2021, Month.JUNE, 6)) toBeBefore "2021-07-01"
}

@Test
fun toBeBeforeOrTheSamePointInTimeAsChronoLocalDate() {
expect(LocalDate.of(2021, Month.JUNE, 6)) toBeBeforeOrTheSamePointInTimeAs LocalDate.of(2021, Month.JULY, 1)
expect(LocalDate.of(2021, Month.JUNE, 6)) toBeBeforeOrTheSamePointInTimeAs LocalDate.of(2021, Month.JUNE, 6)
}

@Test
fun toBeBeforeOrTheSamePointInTimeAsString() {
expect(LocalDate.of(2021, Month.JUNE, 6)) toBeBeforeOrTheSamePointInTimeAs "2021-07-01"
expect(LocalDate.of(2021, Month.JUNE, 6)) toBeBeforeOrTheSamePointInTimeAs "2021-06-06"
}

@Test
fun toBeTheSamePointInTimeAsChronoLocalDate() {
expect(LocalDate.of(2021, Month.JUNE, 6)) toBeTheSamePointInTimeAs LocalDate.of(2021, Month.JUNE, 6)
}

@Test
fun toBeTheSamePointInTimeAsString() {
expect(LocalDate.of(2021, Month.JUNE, 6)) toBeTheSamePointInTimeAs "2021-06-06"
}

@Test
fun toBeAfterOrTheSamePointInTimeAsChronoLocalDate() {
expect(LocalDate.of(2021, Month.AUGUST, 6)) toBeAfterOrTheSamePointInTimeAs LocalDate.of(2021, Month.JULY, 1)
expect(LocalDate.of(2021, Month.JULY, 1)) toBeAfterOrTheSamePointInTimeAs LocalDate.of(2021, Month.JULY, 1)
}

@Test
fun toBeAfterOrTheSamePointInTimeAsString() {
expect(LocalDate.of(2021, Month.AUGUST, 6)) toBeAfterOrTheSamePointInTimeAs "2021-07-01"
expect(LocalDate.of(2021, Month.JULY, 1)) toBeAfterOrTheSamePointInTimeAs "2021-07-01"
}

@Test
fun toBeAfterChronoLocalDate() {
expect(LocalDate.of(2021, Month.AUGUST, 6)) toBeAfter LocalDate.of(2021, Month.JULY, 1)
}

@Test
fun toBeAfterString() {
expect(LocalDate.of(2021, Month.AUGUST, 6)) toBeAfter "2021-07-01"
}
}
Loading

0 comments on commit c33d049

Please sign in to comment.