As others pointed out, in Kotlin, is
is a reserved word (see Type Checks). But it's not a big problem with Hamcrest since is
function is just a decorator. It's used for better code readability, but it's not required for proper functioning.
You are free to use a shorter Kotlin-friendly expression.
equality:
assertThat(cheese, equalTo(smelly))
instead of:
assertThat(cheese, `is`(equalTo(smelly)))
matcher decorator:
assertThat(cheeseBasket, empty())
instead of:
assertThat(cheeseBasket, `is`(empty()))
Another frequently used Hamcrest matcher is a type-check like
assertThat(cheese, `is`(Cheddar.class))
It's deprecated and it's not Kotlin-friendly. Instead, you're advised to use one of the following:
assertThat(cheese, isA(Cheddar.class))
assertThat(cheese, instanceOf(Cheddar.class))
assertThat(1 is equalTo(1))
... but you would have to wrap a good bit I think. Maybe with the combination of some DSL style work you get to the point one can writeassertThat{ N isEqualTo 1}
but I'm not inclined to put that effort in... yet – Adenoidectomy