All Versions
Latest Version
Avg Release Cycle
47 days
Latest Release
937 days ago

Changelog History
Page 3

  • v0.6.0 Changes

    July 20, 2018

    Jar's can be found here:
    API Maturity : Almost Stable
    Implementation Maturity : Development

    🏗 I provide more or less a stable API for users of Atrium. Only the ReporterBuilder, which you use to build your own assertion verb might slightly change its API (so migrating will be just a few lines in one file).
    🏗 There are most likely not any breaking changes in the API of the assertion functions/builders.
    However, I do not provide yet a stable API for the core of Atrium -- this might affect you as well if you write your own assertion functions. It also affects you if you provide your own implementation of the core of Atrium.

    🆕 New Features:

    • isNumericallyEqualTo and isNotNumericallyEqualTo for BigDecimal
    • isEqualIncludingScale and isNotEqualIncludingScale for BigDecimal
      => gives a hint in case of a failure where the assertion would have hold with isNumericallyEqualTo / isNotNumericallyEqualTo
    • 🗄 overload of toBe for BigDecimal which is deprecated, throws an UnsupportedOperationException and points the user to the above functions
    • same same but different for the overload of notToBe for BigDecimal
    • toBeWithErrorTolerance for floating point numbers (Float, Double, BigDecimal)
    • isLessThan, isLessThanOrEquals etc. is now available for Comparable<T> and no longer only for Number
    • containsRegex(...) as shortcut for contains.atLeast(1).regex(...)
    • ↔ integrated contains not into the sophisticated contains assertion builder (for CharSequence and Iterable)
      👀 => so that you see how many times it was contained when the assertion fails
    • 👍 identification lambdas for Iterable with nullable types. For instance, listOf(null, 1).contains { toBe(1) } was not possible so far (only List<Int> was supported)
    • 👀 made AssertionPairFormatter configurable, one can now chose for instance a multi-line formatter instead of same-line (see README#your-first-assertion for an example)
    • ↪ workaround for a Bug in Kotlin (please upvote it) which causes that returnValueOf cannot be used for methods with overloads.
    • ✅ I generalised the DownCaster to a TypeTransformer which you can reuse by using the impl-function _typeTransformation. You find an example for Either in TypeTransformerSpec.
    • I added a few issues with label help wanted so that you get an easy start to contribute to Atrium.

    💥 Breaking Changes:

    • ✂ removed deprecated ReporterBuilder::withDetailedObjectFormatter

    🗄 Deprecation:

    • ReporterBuilder::withSameLineTextAssertionFormatter -> use the suggested replacement

    🚀 Not included in this release yet

    • 🏗 sophisticated assertion builder for toBe with error tolerance for floating point numbers
    • failure hint for toBe in conjuction with Float or Double
    • simplify the creation of failure hints, make it reusable for users