Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kotest/kotest-extensions-arrow
Kotest extensions for Arrow
https://github.com/kotest/kotest-extensions-arrow
arrow-kt functional-programming kotlin
Last synced: 4 days ago
JSON representation
Kotest extensions for Arrow
- Host: GitHub
- URL: https://github.com/kotest/kotest-extensions-arrow
- Owner: kotest
- License: apache-2.0
- Created: 2021-03-08T15:46:45.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-12-07T15:47:19.000Z (20 days ago)
- Last Synced: 2024-12-17T01:09:24.869Z (11 days ago)
- Topics: arrow-kt, functional-programming, kotlin
- Language: Kotlin
- Homepage:
- Size: 455 KB
- Stars: 40
- Watchers: 7
- Forks: 13
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# kotest-extensions-arrow
Kotest extension for [Arrow](https://arrow-kt.io/).
See [docs](https://kotest.io/docs/assertions/arrow.html).
Please create issues on the main kotest [board](https://github.com/kotest/kotest/issues).
[![Build Status](https://github.com/kotest/kotest-extensions-arrow/workflows/master/badge.svg)](https://github.com/kotest/kotest-extensions-arrow/actions)
[](http://search.maven.org/#search|ga|1|kotest-assertions-arrow)
![GitHub](https://img.shields.io/github/license/kotest/kotest-extensions-arrow)
[![kotest @ kotlinlang.slack.com](https://img.shields.io/static/v1?label=kotlinlang&message=kotest&color=blue&logo=slack)](https://kotlinlang.slack.com/archives/CT0G9SD7Z)
[](https://s01.oss.sonatype.org/content/repositories/snapshots/io/kotest/extensions/kotest-assertions-arrow/)## How to use it
```kotlin
depedencies {
implementation("io.kotest.extensions:kotest-assertions-arrow:")
implementation("io.kotest.extensions:kotest-assertions-arrow-fx-coroutines:")
}
```for property-based testing:
```kotlin
dependencies {
implementation("io.kotest.extensions:kotest-property-arrow:")
// optional: the following includes optics related Laws
implementation("io.kotest.extensions:kotest-property-arrow-optics:")
}
```to depend on snapshot releases add the snapshot repository url:
```kotlin
repositories {
//...
maven {
url = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/")
}
}
```Note:
Please add `io.arrow-kt:arrow-core:arrow-version`, `io.arrow-kt:arrow-fx-coroutines:arrow-version` or `io.arrow-kt:arrow-optics:arrow-version`, if they're missing in your classpath.
Otherwise, it will lead to unresolved Reference errors.
In the form of: "Cannot access class `arrow.core.Either` Check your module classpath for missing or conflicting dependencies."
The project is not shipping the arrow jars because this leads to dependency conflicts and further adjusting the dependency graph.## Changelog
### 2.0.0
* Release for Kotlin 2.1.0 and Arrow 2.0
### 1.4.0
* Release for Kotlin 1.8 and Kotest 5.7 and Arrow 1.2
### 1.3.3
* Release for arrow 1.1.5
### 1.3.2
* Release for arrow 1.1.4
### 1.3.1
* Added `Ior` matchers.
### 1.3.0
- Update to kotest 5.5.4
- Add assertion module for arrow-fx-coroutines with combinators related to `Resource` and `ExitCase`
- Add `Either.rethrow`### 1.2.5
- Upgrade to 5.2.3 and update kotlinx-coroutines to 1.6.1
### 1.2.4
- Upgrade to 5.2.1 and restores compatibilty with 5.2.X series https://github.com/kotest/kotest-extensions-arrow/pull/149
### 1.2.3
- fix linking error in native platforms [#140](https://github.com/kotest/kotest-extensions-arrow/issues/140)
### 1.2.2
* update kotest to 5.1.0
* update kotlin to 1.6.10
* publish missing multiplatform targets affecting `1.2.1` and `1.2.0`### 1.2.1
* Added Arb.valid and Arb.invalid
* Added Arb.nel(arb, range) - a variant of Arb.nel(arb) that accepts a range parameter### 1.2.0
* Upgrade to Arrow 1.0.1
* Multiplatform artifacts for `kotest-assertions-arrow`, `kotest-property-arrow` and `kotest-property-arrow-optics`
* `#2670` Replace explicit usage of eq with should be from kotest assertion core
* `testLaws` has `RootScope` as a receiver instead of `RootContext`### 1.1.1
* removes deprecated members in `kotest-assertions-arrow`
### 1.1.0
**Note that from this release, the minimium requirements are Kotest 5.0+ and Kotlin 1.6**
* Update to Arrow 1.0.0
* fix Java 1.8 compatibility [#2437](https://github.com/kotest/kotest/issues/2437)
* Added `kotest-property-arrow` and `kotest-property-arrow-optics` for property-based testing with Arrow
* includes deprecation cycle of 1.0.3
* remove dependency to kotlinX-coroutines and kotest-property in `kotest-assertions-arrow`### 1.0.3
* Update to Arrow 0.13.2
* Added a deprecation cycle for previous descriptors in 1.0.2 in favor of smart-casted variants in `io.kotest.assertions.arrow.core`
* Reorg existing functions to `io.kotest.assertions.arrow.core`
* Not leaking the arrow dependency into the runtime of users
* Added Arb, Arb>### 1.0.2
* Updated to arrow 0.13.1
* Updated option to support nullables