HamKrest

Matcher library for Kotlin. A port of Hamcrest, made more Kotlin-esque.

Лицензия

Лицензия

Группа

Группа

com.natpryce
Идентификатор

Идентификатор

hamkrest
Последняя версия

Последняя версия

1.8.0.1
Дата

Дата

Тип

Тип

jar
Описание

Описание

HamKrest
Matcher library for Kotlin. A port of Hamcrest, made more Kotlin-esque.
Ссылка на сайт

Ссылка на сайт

https://github.com/npryce/hamkrest
Система контроля версий

Система контроля версий

https://github.com/npryce/hamkrest

Скачать hamkrest

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.natpryce/hamkrest/ -->
<dependency>
    <groupId>com.natpryce</groupId>
    <artifactId>hamkrest</artifactId>
    <version>1.8.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.natpryce/hamkrest/
implementation 'com.natpryce:hamkrest:1.8.0.1'
// https://jarcasting.com/artifacts/com.natpryce/hamkrest/
implementation ("com.natpryce:hamkrest:1.8.0.1")
'com.natpryce:hamkrest:jar:1.8.0.1'
<dependency org="com.natpryce" name="hamkrest" rev="1.8.0.1">
  <artifact name="hamkrest" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.natpryce', module='hamkrest', version='1.8.0.1')
)
libraryDependencies += "com.natpryce" % "hamkrest" % "1.8.0.1"
[com.natpryce/hamkrest "1.8.0.1"]

Зависимости

test (4)

Идентификатор библиотеки Тип Версия
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.4.10
org.jetbrains.kotlin : kotlin-reflect jar 1.4.10
org.jetbrains.kotlin : kotlin-test jar 1.4.10
junit : junit jar 4.12

Модули Проекта

Данный проект не имеет модулей.

HamKrest - Hamcrest for Kotlin

A reimplementation of Hamcrest to take advantage of Kotlin language features.

Kotlin Build Status Maven Central

Note: as of version 1.4.0.0, you must add kotlin-reflect to the classpath to use HamKrest's reflective features.

When working in Kotlin, Hamkrest provides these benefits over using the Java Hamcrest library:

  • Kotlin's type system means that developers don't have to worry about getting the variance of generic signatures right. Variance is defined on the abstract Matcher type and Kotlin makes sure composition and subtyping work together the way you expect.

  • Syntactic sugar. You can negate a matcher with the ! operator and compose matchers with infix and and or functions:

    import com.natpryce.hamkrest.assertion.assert
          
    ...
          
    assertThat("xyzzy", startsWith("x") and endsWith("y") and !containsSubstring("a"))
  • Easier to extend. You can convert named unary predicates into matchers.

    val isBlank = Matcher(String::isBlank)
    
    assertThat(input, isBlank)

    As a shortcut, you can pass named functions to the assertThat, and, or and many other functions that take a matcher.

    assertThat(input, String::isBlank)

    You can also convert a named binary predicate and the second argument to a matcher for first argument, which works well for extension methods.

    fun String.hasLength(n: Int): Boolean = this.length == n
    
    val isTheRightLength = Matcher(String::hasLength, 8)
    
    assertThat(secretCode, isTheRightLength)

    You can use function and property references to match features of a value:

    val isLongEnough = has(String::length, greaterThan(8))
    
    assertThat(password, isLongEnough)

    All of these shortcuts produce good, human-readable diagnostics.

    You can customise how diagnostics are generated by creating a project-specific assert object.

More documentation

More detailed documentation of specific library features is in the docs/ directory.

Версии библиотеки

Версия
1.8.0.1
1.7.0.3
1.7.0.2
1.7.0.0
1.7.0.0-RC2
1.7.0.0-RC1
1.6.0.0
1.5.0.0
1.4.2.2
1.4.2.0
1.4.1.0
1.4.0.0
1.3.0.0
1.2.3.0
1.2.2.0
1.2.1.0
1.2.0.0
1.1.0.0
0.0.9.0
0.0.8.0
0.0.7.0
0.0.6.0
0.0.5.0
0.0.4.0
0.0.3.0
0.0.2.0
0.0.1.0