MapLike.contains
Table of Content
- New Features
- Fixes
- Improvements
- Breaking Changes
- Deprecation
- Migrating deprecated functionality
- Sponsors
New Features
All APIs
- #173 MapLike.contains including sophisticated builder (also for inOrder.only)
- #68 MapLike.containsOnly
- #733 MapLike.size
- #660 add Expect.because to document the reason for an assertion => thanks to @Valefant for most of the implementation and @jGleitz for the proposition and discussion.
api-fluent-en_GB
- no fluent only additions this time
api-infx-en_GB
- no infix only additions this time
Logic / Core
- #711 turn MapAssertions into MapLikeAssertions
Fixes
- #719 fix link to examples in README
Improvements
- #717 reword entry in reporting of Iterable.contains to element
- #720 don't show the feature value in an explanatory assertion group
- #736 don't show the down-cast in toBeNullIfNullGivenElse
- #738 use the info bullet point for unexpected Exceptions
- #739 use info bullet point for notice in BigDecimal.isEqualIncludingScale
- add link to output of examples in README
- list third-party extensions in README => create a pull request if you are a maintainer of an extension, we happily add yours as well.
Breaking Changes
Planned (previously deprecated or announced)
- none this time
Unplanned
- none this time
Deprecation
- AnyAssertions.toBeNull on the logic level; will be removed with 0.16.0 => use toBe(null)
- DescriptionMapAssertion; will be removed with 0.16.0 => use DescriptionMapLikeAssertion
Deprecations with 0.16.0
- we will transform the api-fluent to a consistent
to + infinitive
syntax and will therefore deprecate most of the assertion functions, see robstoll/atrium-roadmap#93 for more information.
Breaking Changes with 0.16.0
- we will remove all deprecated APIs (you need to migrate to api-fluent or api-infix if you want to use this version or onwards, see older release notes for migration hints and scripts).
- we will also remove deprecated stuff on the domain/core level where they only remained due to the deprecated APIs.
- remove AnyAssertions.toBeNullIfNullGivenElse which expects a kClass => use the one which does not
- might be we have to break compatibility when we deprecate core-robstoll and core-robstoll-lib
- might also be, that we have to break compatibility when we move ExpectBuilder and ExpectOptions from domain-builders to atrium-logic
- we will break binary compatibility when we move Group from atrium-domain-builders to atrium-logic (or to the individual APIs)
- we will break binary compatibility when we move VarArgHelper from atrium-domain-builders to atrium-logic
- we might skip the process of deprecating stuff on the logic level. We will rename ...Assertions to ...Expectations
- we will rename files on the API level which is a binary break
- might be that we need to change package names which is a binary and source backward compatibility break in case we switch to the new Kotlin MPP plugin with 0.16.0
- we will drop support for Java 9 and 10 (we will build 0.16.0 with jdk11) => update to jdk 11 or stick with jdk8
- we will no longer check if compatible with jdk 12 or 13 => use jdk11 (or jdk14 but we will move to jdk15 as soon as jacoco supports it)
Breaking Changes with 1.0.0
See atrium-roadmap -> Milestone 1.0.0
Migrating deprecated functionality
We provide @Deprecated
annotations with ReplaceWith
-> use the suggestions as advertised.
Please have a look at older release-notes in case you don't migrate from 0.12.0, 0.13.0 or 0.14.0
Sponsors
We would like to thank Tegonal GmbH for sponsoring Support and PR-Review time.
Are you are using Atrium at work?
Please consider to support the project as well by:
- sponsoring robstoll (Author and main contributor)
- share your assertion functions with others
- report bugs
- provide feedback in case you miss a feature