Add samples for coerceIn, coerceAtLeast, coerceAtMost for comparable types

#KT-20357
This commit is contained in:
Ilya Gorbunov
2018-01-10 17:46:52 +03:00
parent 17573a3c21
commit 8fc83e3ff5
5 changed files with 57 additions and 12 deletions
@@ -17,6 +17,7 @@
package samples.comparisons
import samples.*
import java.time.DayOfWeek
import kotlin.test.assertFailsWith
class ComparableOps {
@@ -27,12 +28,25 @@ class ComparableOps {
assertPrints(10.coerceAtLeast(20), "20")
}
@Sample
fun coerceAtLeastComparable() {
assertPrints(DayOfWeek.WEDNESDAY.coerceAtLeast(DayOfWeek.MONDAY), "WEDNESDAY")
assertPrints(DayOfWeek.WEDNESDAY.coerceAtLeast(DayOfWeek.FRIDAY), "FRIDAY")
}
@Sample
fun coerceAtMost() {
assertPrints(10.coerceAtMost(5), "5")
assertPrints(10.coerceAtMost(20), "10")
}
@Sample
fun coerceAtMostComparable() {
assertPrints(DayOfWeek.FRIDAY.coerceAtMost(DayOfWeek.SATURDAY), "FRIDAY")
assertPrints(DayOfWeek.FRIDAY.coerceAtMost(DayOfWeek.WEDNESDAY), "WEDNESDAY")
}
@Sample
fun coerceIn() {
assertPrints(10.coerceIn(1, 100), "10")
@@ -43,4 +57,13 @@ class ComparableOps {
10.coerceIn(100, 0)
}
}
@Sample
fun coerceInComparable() {
val workingDays = DayOfWeek.MONDAY..DayOfWeek.FRIDAY
assertPrints(DayOfWeek.WEDNESDAY.coerceIn(workingDays), "WEDNESDAY")
assertPrints(DayOfWeek.SATURDAY.coerceIn(workingDays), "FRIDAY")
assertPrints(DayOfWeek.FRIDAY.coerceIn(DayOfWeek.SATURDAY, DayOfWeek.SUNDAY), "SATURDAY")
}
}