month

fun Expect<LocalDate>.month(assertionCreator: Expect<Int>.() -> Unit): Expect<LocalDate>(source)

Expects that the property LocalDate.monthValue of the subject of this expectation holds all assertions the given assertionCreator creates for it and returns an Expect for the current subject of this expectation.

Return

an Expect for the subject of this expectation.

Since

0.9.0

Samples

expect(LocalDate.of(2021, Month.OCTOBER, 9))
    .month { // subject inside this expectation-group is of type Int (actually Month.OCTOBER.value i.e. 10)
        toBeGreaterThan(5)
        notToEqual(9)
    } // subject here is back to type LocalDate

fails {
    expect(LocalDate.of(2021, Month.OCTOBER, 9))
        .month { // subject inside this expectation-group is of type Int (actually Month.OCTOBER.value i.e. 10)
            toBeLessThan(9)      // fails
            toBeGreaterThan(11)  // still evaluated even though `toBeLessThan(9)` already fails
            //                      use `.month.` if you want a fail fast behaviour
        }
}

fun Expect<LocalDateTime>.month(assertionCreator: Expect<Int>.() -> Unit): Expect<LocalDateTime>(source)

Expects that the property LocalDateTime.monthValueof the subject of this expectation holds all assertions the given assertionCreator creates for it and returns an Expect for the current subject of this expectation.

Return

an Expect for the subject of this expectation.

Since

0.9.0

Samples

expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
    .month { // subject inside this expectation-group is of type Int (actually Month.OCTOBER.value i.e. 10)
        toBeGreaterThan(5)
        notToEqual(8)
    } // subject here is back to type LocalDateTime

fails {
    expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
        .month { // subject inside this expectation-group is of type Int (actually Month.OCTOBER.value i.e. 10)
            toBeLessThan(9)      // fails
            toBeGreaterThan(11)  // still evaluated even though toBeLessThan already fails
            //                      use `.month.` if you want a fail fast behaviour
        }
}

fun Expect<ZonedDateTime>.month(assertionCreator: Expect<Int>.() -> Unit): Expect<ZonedDateTime>(source)

Expects that the property ZonedDateTime.monthValue of the subject of this expectation holds all assertions the given assertionCreator creates for it and returns an Expect for the current subject of this expectation.

Return

an Expect for the subject of this expectation.

Since

0.9.0

Samples

val zonedDateTime = ZonedDateTime.of(LocalDateTime.of(2021, 10, 9, 11, 56), ZoneId.systemDefault())

expect(zonedDateTime)
    .month { // subject inside this expectation-group is of type Int (actually Month.OCTOBER.value i.e. 10)
        toBeGreaterThan(5)
        notToEqual(8)
    } // subject here is back to type ZonedDateTime

fails {
    expect(zonedDateTime)
        .month { // subject inside this expectation-group is of type Int (actually Month.OCTOBER.value i.e. 10)
            toBeLessThan(9)      // fails
            toBeGreaterThan(11)  // still evaluated even though toBeLessThan already fails
            //                      use `.month.` if you want a fail fast behaviour
        }
}

Creates an Expect for the property LocalDate.monthValue of the subject of this expectation, so that further fluent calls are assertions about it.

Return

The newly created Expect for the extracted feature.

Since

0.9.0

Samples

expect(LocalDate.of(2021, Month.OCTOBER, 9))
    .month // subject is now of type Int (actually Month.OCTOBER.value i.e. 10)
    .toEqual(10)

fails {
    expect(LocalDate.of(2021, Month.OCTOBER, 9))
        .month // subject is now of type Int (actually Month.OCTOBER.value i.e. 10)
        .toBeLessThan(9)     // fails
        .toBeGreaterThan(11) // not evaluated/reported because toBeLessThan already fails
    //                          use `.month { ... }` if you want that all expectations are evaluated
}

Creates an Expect for the property LocalDateTime.monthValue of the subject of this expectation, so that further fluent calls are assertions about it.

Return

The newly created Expect for the extracted feature.

Since

0.9.0

Samples

expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
    .month // subject is now of type Int (actually Month.OCTOBER.value i.e. 10)
    .toEqual(10)

fails {
    expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
        .month               // subject is now of type Int (actually Month.OCTOBER.value i.e. 10)
        .toBeLessThan(9)     // fails
        .toBeGreaterThan(11) // not evaluated/reported because toBeLessThan already fails
    //                          use `.month { ... }` if you want that all expectations are evaluated
}

Creates an Expect for the property ZonedDateTime.monthValue of the subject of this expectation, so that further fluent calls are assertions about it.

Return

The newly created Expect for the extracted feature.

Since

0.9.0

Samples

val zonedDateTime = ZonedDateTime.of(LocalDateTime.of(2021, 10, 9, 11, 56), ZoneId.systemDefault())

expect(zonedDateTime)
    .month // subject is now of type Int (actually Month.OCTOBER.value i.e. 10)
    .toEqual(10)

fails {
    expect(zonedDateTime)
        .month               // subject is now of type Int (actually Month.OCTOBER.value i.e. 10)
        .toBeLessThan(9)     // fails
        .toBeGreaterThan(11) // not evaluated/reported because toBeLessThan already fails
    //                          use `.month { ... }` if you want that all expectations are evaluated
}