Skip to content

Commit

Permalink
add samples for localDateTimeAssertions (#997) (#1005)
Browse files Browse the repository at this point in the history
  • Loading branch information
rhushikesh authored Oct 12, 2021
1 parent b6e40bd commit a6b0bea
Show file tree
Hide file tree
Showing 4 changed files with 301 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ import java.time.LocalDateTime
*
* @return The newly created [Expect] for the extracted feature.
*
* @sample ch.tutteli.atrium.api.fluent.en_GB.samples.LocalDateTimeExpectationSamples.yearFeature
*
* @since 0.9.0
*/
val Expect<LocalDateTime>.year: Expect<Int>
Expand All @@ -29,6 +31,8 @@ val Expect<LocalDateTime>.year: Expect<Int>
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.fluent.en_GB.samples.LocalDateTimeExpectationSamples.year
*
* @since 0.9.0
*/
fun Expect<LocalDateTime>.year(assertionCreator: Expect<Int>.() -> Unit): Expect<LocalDateTime> =
Expand All @@ -40,6 +44,8 @@ fun Expect<LocalDateTime>.year(assertionCreator: Expect<Int>.() -> Unit): Expect
*
* @return The newly created [Expect] for the extracted feature.
*
* @sample ch.tutteli.atrium.api.fluent.en_GB.samples.LocalDateTimeExpectationSamples.monthFeature
*
* @since 0.9.0
*/
val Expect<LocalDateTime>.month: Expect<Int>
Expand All @@ -52,6 +58,8 @@ val Expect<LocalDateTime>.month: Expect<Int>
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.fluent.en_GB.samples.LocalDateTimeExpectationSamples.month
*
* @since 0.9.0
*/
fun Expect<LocalDateTime>.month(assertionCreator: Expect<Int>.() -> Unit): Expect<LocalDateTime> =
Expand All @@ -63,6 +71,8 @@ fun Expect<LocalDateTime>.month(assertionCreator: Expect<Int>.() -> Unit): Expec
*
* @return The newly created [Expect] for the extracted feature.
*
* @sample ch.tutteli.atrium.api.fluent.en_GB.samples.LocalDateTimeExpectationSamples.dayOfWeekFeature
*
* @since 0.9.0
*/
val Expect<LocalDateTime>.dayOfWeek: Expect<DayOfWeek>
Expand All @@ -75,6 +85,8 @@ val Expect<LocalDateTime>.dayOfWeek: Expect<DayOfWeek>
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.fluent.en_GB.samples.LocalDateTimeExpectationSamples.dayOfWeek
*
* @since 0.9.0
*/
fun Expect<LocalDateTime>.dayOfWeek(assertionCreator: Expect<DayOfWeek>.() -> Unit): Expect<LocalDateTime> =
Expand All @@ -86,6 +98,8 @@ fun Expect<LocalDateTime>.dayOfWeek(assertionCreator: Expect<DayOfWeek>.() -> Un
*
* @return The newly created [Expect] for the extracted feature.
*
* @sample ch.tutteli.atrium.api.fluent.en_GB.samples.LocalDateTimeExpectationSamples.dayFeature
*
* @since 0.9.0
*/
val Expect<LocalDateTime>.day: Expect<Int>
Expand All @@ -98,6 +112,8 @@ val Expect<LocalDateTime>.day: Expect<Int>
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.fluent.en_GB.samples.LocalDateTimeExpectationSamples.day
*
* @since 0.9.0
*/
fun Expect<LocalDateTime>.day(assertionCreator: Expect<Int>.() -> Unit): Expect<LocalDateTime> =
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
package ch.tutteli.atrium.api.fluent.en_GB.samples

import ch.tutteli.atrium.api.fluent.en_GB.*
import ch.tutteli.atrium.api.verbs.internal.expect
import java.time.DayOfWeek
import java.time.LocalDateTime
import java.time.Month
import kotlin.test.Test

class LocalDateTimeExpectationSamples {

@Test
fun yearFeature() {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.year.toEqual(2021)
// | subject is now of type Int

fails {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.year.notToEqual(2021)
// | subject is now of type Int
}
}

@Test
fun year() {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.year {
// subject inside this block is of type Int (actually 2021)
toEqual(2021)
toBeGreaterThan(2020)
} // subject here is back to type LocalDateTime

fails {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.year {
// subject inside this block is of type Int (actually 2021)
notToEqual(2021)
toBeGreaterThan(2022)
toBeLessThan(2020)
} // subject here is back to type LocalDateTime
}
}

@Test
fun monthFeature() {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.month.toEqual(Month.OCTOBER.value)
// | subject is now of type Int

fails {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.month.toEqual(Month.SEPTEMBER.value)
// | subject is now of type Int
}
}

@Test
fun month() {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.month {
// subject inside this block is of type Int (actually Month.OCTOBER.value i.e. 10)
toEqual(Month.OCTOBER.value)
notToEqual(Month.SEPTEMBER.value)
} // subject here is back to type LocalDateTime

fails {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.month {
// subject inside this block is of type Int (actually Month.OCTOBER.value i.e. 10)
toEqual(Month.SEPTEMBER.value)
notToEqual(Month.OCTOBER.value)
} // subject here is back to type LocalDateTime
}
}

@Test
fun dayOfWeekFeature() {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.dayOfWeek.toEqual(DayOfWeek.SATURDAY)
// | subject is now of type DayOfWeek

fails {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.dayOfWeek.toEqual(DayOfWeek.MONDAY)
// | subject is now of type DayOfWeek
}
}

@Test
fun dayOfWeek() {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.dayOfWeek {
// subject inside this block is of type DayOfWeek (actually SATURDAY)
toEqual(DayOfWeek.SATURDAY)
notToEqual(DayOfWeek.SUNDAY)
} // subject here is back to type LocalDateTime

fails {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.dayOfWeek {
// subject inside this block is of type DayOfWeek (actually SATURDAY)
toEqual(DayOfWeek.MONDAY)
notToEqual(DayOfWeek.SATURDAY)
} // subject here is back to type LocalDateTime
}
}

@Test
fun dayFeature() {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.day.toEqual(9)
// | subject is now of type Int

fails {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.day.toEqual(5)
// | subject is now of type Int
}
}

@Test
fun day() {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.day {
// subject inside this block is of type Int (actually 9)
toEqual(9)
toBeGreaterThan(5)
} // subject here is back to type LocalDateTime

fails {
expect(LocalDateTime.of(2021, Month.OCTOBER, 9, 11, 56))
.day {
// subject inside this block is of type Int (actually 9)
toEqual(5)
toBeLessThan(7)
} // subject here is back to type LocalDateTime
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ import java.time.LocalDateTime
*
* @return The newly created [Expect] for the extracted feature.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.LocalDateTimeExpectationSamples.yearFeature
*
* @since 0.12.0
*/
val Expect<LocalDateTime>.year: Expect<Int>
Expand All @@ -29,6 +31,8 @@ val Expect<LocalDateTime>.year: Expect<Int>
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.LocalDateTimeExpectationSamples.year
*
* @since 0.12.0
*/
infix fun Expect<LocalDateTime>.year(assertionCreator: Expect<Int>.() -> Unit): Expect<LocalDateTime> =
Expand All @@ -40,6 +44,8 @@ infix fun Expect<LocalDateTime>.year(assertionCreator: Expect<Int>.() -> Unit):
*
* @return The newly created [Expect] for the extracted feature.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.LocalDateTimeExpectationSamples.monthFeature
*
* @since 0.12.0
*/
val Expect<LocalDateTime>.month: Expect<Int>
Expand All @@ -52,6 +58,8 @@ val Expect<LocalDateTime>.month: Expect<Int>
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.LocalDateTimeExpectationSamples.month
*
* @since 0.12.0
*/
infix fun Expect<LocalDateTime>.month(assertionCreator: Expect<Int>.() -> Unit): Expect<LocalDateTime> =
Expand All @@ -63,6 +71,8 @@ infix fun Expect<LocalDateTime>.month(assertionCreator: Expect<Int>.() -> Unit):
*
* @return The newly created [Expect] for the extracted feature.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.LocalDateTimeExpectationSamples.dayOfWeekFeature
*
* @since 0.12.0
*/
val Expect<LocalDateTime>.dayOfWeek: Expect<DayOfWeek>
Expand All @@ -75,6 +85,8 @@ val Expect<LocalDateTime>.dayOfWeek: Expect<DayOfWeek>
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.LocalDateTimeExpectationSamples.dayOfWeek
*
* @since 0.12.0
*/
infix fun Expect<LocalDateTime>.dayOfWeek(assertionCreator: Expect<DayOfWeek>.() -> Unit): Expect<LocalDateTime> =
Expand All @@ -86,6 +98,8 @@ infix fun Expect<LocalDateTime>.dayOfWeek(assertionCreator: Expect<DayOfWeek>.()
*
* @return The newly created [Expect] for the extracted feature.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.LocalDateTimeExpectationSamples.dayFeature
*
* @since 0.12.0
*/
val Expect<LocalDateTime>.day: Expect<Int>
Expand All @@ -98,6 +112,8 @@ val Expect<LocalDateTime>.day: Expect<Int>
*
* @return an [Expect] for the subject of `this` expectation.
*
* @sample ch.tutteli.atrium.api.infix.en_GB.samples.LocalDateTimeExpectationSamples.day
*
* @since 0.12.0
*/
infix fun Expect<LocalDateTime>.day(assertionCreator: Expect<Int>.() -> Unit): Expect<LocalDateTime> =
Expand Down
Loading

0 comments on commit a6b0bea

Please sign in to comment.