diff --git a/.github/workflows/build-ubuntu.yml b/.github/workflows/build-ubuntu.yml
index 942480c69..b444018b7 100644
--- a/.github/workflows/build-ubuntu.yml
+++ b/.github/workflows/build-ubuntu.yml
@@ -20,9 +20,10 @@ jobs:
- name: build
run: ./gradlew build
- - name: composite build atrium-scala2
- run: ./gradlew build
- working-directory: misc/tools/atrium-scala2-test
+# TODO 0.16.0 or 0.17.0 re-activate scala API
+# - name: composite build atrium-scala2
+# run: ./gradlew build
+# working-directory: misc/tools/atrium-scala2-test
- name: Upload windows build code coverage
uses: codecov/codecov-action@v1
diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml
index 9282398e8..07b34fe3e 100644
--- a/.github/workflows/build-windows.yml
+++ b/.github/workflows/build-windows.yml
@@ -47,9 +47,10 @@ jobs:
run: ATRIUM_ANDROID_JAR="$PWD/android-jar-cache/android.jar" ./gradlew checkDexer
shell: bash
- - name: composite build atrium-scala2
- run: ./gradlew build
- working-directory: misc\tools\atrium-scala2-test
+# TODO 0.16.0 or 0.17.0 re-activate scala API
+# - name: composite build atrium-scala2
+# run: ./gradlew build
+# working-directory: misc\tools\atrium-scala2-test
- name: Upload windows build code coverage
uses: codecov/codecov-action@v1
diff --git a/README.md b/README.md
index b62addd88..7c262ff0f 100644
--- a/README.md
+++ b/README.md
@@ -271,7 +271,7 @@ import ch.tutteli.atrium.api.verbs.expect
val x = 10
expect(x).toBe(9)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L53) ↓ [Output](#ex-first)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L54) ↓ [Output](#ex-first)
```text
expected that subject: 10 (kotlin.Int <1234789>)
@@ -314,7 +314,7 @@ The next section shows how you can define multiple assertions for the same subje
// two single assertions, only first evaluated
expect(4 + 6).isLessThan(5).isGreaterThan(10)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L60) ↓ [Output](#ex-single)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L61) ↓ [Output](#ex-single)
```text
expected that subject: 10 (kotlin.Int <1234789>)
@@ -347,7 +347,7 @@ expect(4 + 6) {
isGreaterThan(10)
}
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L65) ↓ [Output](#ex-group)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L66) ↓ [Output](#ex-group)
```text
expected that subject: 10 (kotlin.Int <1234789>)
@@ -379,7 +379,7 @@ expect {
throw IllegalArgumentException("name is empty")
}.toThrow()
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L73) ↓ [Output](#ex-toThrow1)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L74) ↓ [Output](#ex-toThrow1)
```text
expected that subject: () -> kotlin.Nothing (readme.examples.ReadmeSpec$1$4$1 <1234789>)
@@ -388,10 +388,10 @@ expected that subject: () -> kotlin.Nothing (readme.examples.ReadmeSpec$1
ℹ Properties of the unexpected IllegalArgumentException
» message: "name is empty" <1234789>
» stacktrace:
- ⚬ readme.examples.ReadmeSpec$1$4$1.invoke(ReadmeSpec.kt:76)
- ⚬ readme.examples.ReadmeSpec$1$4$1.invoke(ReadmeSpec.kt:51)
- ⚬ readme.examples.ReadmeSpec$1$4.invoke(ReadmeSpec.kt:691)
- ⚬ readme.examples.ReadmeSpec$1$4.invoke(ReadmeSpec.kt:51)
+ ⚬ readme.examples.ReadmeSpec$1$4$1.invoke(ReadmeSpec.kt:77)
+ ⚬ readme.examples.ReadmeSpec$1$4$1.invoke(ReadmeSpec.kt:52)
+ ⚬ readme.examples.ReadmeSpec$1$4.invoke(ReadmeSpec.kt:662)
+ ⚬ readme.examples.ReadmeSpec$1$4.invoke(ReadmeSpec.kt:52)
```
@@ -415,7 +415,7 @@ expect {
throw IllegalArgumentException()
}.toThrow().message.startsWith("firstName")
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L80) ↓ [Output](#ex-toThrow2)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L81) ↓ [Output](#ex-toThrow2)
```text
expected that subject: () -> kotlin.Nothing (readme.examples.ReadmeSpec$1$5$1 <1234789>)
@@ -436,7 +436,7 @@ expect {
message { startsWith("firstName") }
}
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L86) ↓ [Output](#ex-toThrow3)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L87) ↓ [Output](#ex-toThrow3)
```text
expected that subject: () -> kotlin.Nothing (readme.examples.ReadmeSpec$1$6$1 <1234789>)
@@ -460,7 +460,7 @@ expect {
throw IllegalArgumentException("name is empty", RuntimeException("a cause"))
}.notToThrow()
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L94) ↓ [Output](#ex-notToThrow)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L95) ↓ [Output](#ex-notToThrow)
```text
expected that subject: () -> kotlin.Nothing (readme.examples.ReadmeSpec$1$7$1 <1234789>)
@@ -468,14 +468,14 @@ expected that subject: () -> kotlin.Nothing (readme.examples.ReadmeSpec$1
ℹ Properties of the unexpected IllegalArgumentException
» message: "name is empty" <1234789>
» stacktrace:
- ⚬ readme.examples.ReadmeSpec$1$7$1.invoke(ReadmeSpec.kt:97)
- ⚬ readme.examples.ReadmeSpec$1$7$1.invoke(ReadmeSpec.kt:51)
- ⚬ readme.examples.ReadmeSpec$1$7.invoke(ReadmeSpec.kt:98)
- ⚬ readme.examples.ReadmeSpec$1$7.invoke(ReadmeSpec.kt:51)
+ ⚬ readme.examples.ReadmeSpec$1$7$1.invoke(ReadmeSpec.kt:98)
+ ⚬ readme.examples.ReadmeSpec$1$7$1.invoke(ReadmeSpec.kt:52)
+ ⚬ readme.examples.ReadmeSpec$1$7.invoke(ReadmeSpec.kt:99)
+ ⚬ readme.examples.ReadmeSpec$1$7.invoke(ReadmeSpec.kt:52)
» cause: java.lang.RuntimeException
» message: "a cause" <1234789>
» stacktrace:
- ⚬ readme.examples.ReadmeSpec$1$7$1.invoke(ReadmeSpec.kt:97)
+ ⚬ readme.examples.ReadmeSpec$1$7$1.invoke(ReadmeSpec.kt:98)
```
@@ -514,7 +514,7 @@ expect(myPerson)
.feature { f(it::fullName) } // not evaluated anymore, subject String afterwards
.startsWith("rob") // not evaluated anymore
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L113) ↓ [Output](#ex-property-methods-single)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L114) ↓ [Output](#ex-property-methods-single)
```text
expected that subject: Person(firstName=Robert, lastName=Stoll, isStudent=false) (readme.examples.ReadmeSpec$1$Person <1234789>)
@@ -567,7 +567,7 @@ Feature assertions follow the common pattern of having two overloads:
feature { f(it::lastName) }.toBe("Dummy")
}
```
- ↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L122) ↓ [Output](#ex-property-methods-group)
+ ↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L123) ↓ [Output](#ex-property-methods-group)
```text
expected that subject: Person(firstName=Robert, lastName=Stoll, isStudent=false) (readme.examples.ReadmeSpec$1$Person <1234789>)
@@ -618,7 +618,7 @@ expect(myPerson)
.toBe("Robert aka. Stoll") // fails
.startsWith("llotS") // not evaluated anymore
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L136) ↓ [Output](#ex-methods-args)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L137) ↓ [Output](#ex-methods-args)
```text
expected that subject: Person(firstName=Robert, lastName=Stoll, isStudent=false) (readme.examples.ReadmeSpec$1$Person <1234789>)
@@ -671,7 +671,7 @@ expect(myFamily)
.feature("first member's name") { members.first().name } // subject narrowed to String
.toBe("Peter")
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L153) ↓ [Output](#ex-arbitrary-features)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L154) ↓ [Output](#ex-arbitrary-features)
```text
expected that subject: Family(members=[FamilyMember(name=Robert)]) (readme.examples.ReadmeSpec$1$Family <1234789>)
@@ -718,7 +718,7 @@ expect(listOf(1 to "a", 2 to "b")).get(10) {
firstToBe(1)
}
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L169) ↓ [Output](#ex-within-assertion-functions)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L170) ↓ [Output](#ex-within-assertion-functions)
```text
expected that subject: [(1, a), (2, b)] (java.util.Arrays.ArrayList <1234789>)
@@ -805,7 +805,7 @@ expect(x).isA()
.feature { f(it::number) }
.toBe(2)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L202) ↓ [Output](#ex-type-assertions-1)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L203) ↓ [Output](#ex-type-assertions-1)
```text
expected that subject: SubType2(word=hello, flag=true) (readme.examples.SubType2 <1234789>)
@@ -827,7 +827,7 @@ expect(x).isA {
feature { f(it::flag) }.toBe(false)
}
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L208) ↓ [Output](#ex-type-assertions-2)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L209) ↓ [Output](#ex-type-assertions-2)
```text
expected that subject: SubType2(word=hello, flag=true) (readme.examples.SubType2 <1234789>)
@@ -856,7 +856,7 @@ Let us look at the case where the subject of the assertion has a [nullable type]
val slogan1: String? = "postulating assertions made easy"
expect(slogan1).toBe(null)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L234) ↓ [Output](#ex-nullable-1)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L235) ↓ [Output](#ex-nullable-1)
```text
expected that subject: "postulating assertions made easy" <1234789>
@@ -870,7 +870,7 @@ expected that subject: "postulating assertions made easy" <1234789>
val slogan2: String? = null
expect(slogan2).toBe("postulating assertions made easy")
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L238) ↓ [Output](#ex-nullable-2)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L239) ↓ [Output](#ex-nullable-2)
```text
expected that subject: null
@@ -891,7 +891,7 @@ expect(slogan2) // subject has type String?
.notToBeNull() // subject narrowed to String
.startsWith("atrium")
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L243) ↓ [Output](#ex-nullable-3)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L244) ↓ [Output](#ex-nullable-3)
```text
expected that subject: null
@@ -908,7 +908,7 @@ one without (example above) and one with `assertionCreator`-lambda (example belo
```kotlin
expect(slogan2).notToBeNull { startsWith("atrium") }
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L248) ↓ [Output](#ex-nullable-4)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L249) ↓ [Output](#ex-nullable-4)
```text
expected that subject: null
@@ -944,7 +944,7 @@ The following sub sections show both use cases by examples.
```kotlin
expect(listOf(1, 2, 2, 4)).contains(2, 3)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L252) ↓ [Output](#ex-collection-short-1)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L253) ↓ [Output](#ex-collection-short-1)
```text
expected that subject: [1, 2, 2, 4] (java.util.Arrays.ArrayList <1234789>)
@@ -985,7 +985,7 @@ expect(listOf(1, 2, 2, 4)).contains(
{ isGreaterThan(2).isLessThan(4) }
)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L256) ↓ [Output](#ex-collection-short-2)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L257) ↓ [Output](#ex-collection-short-2)
```text
expected that subject: [1, 2, 2, 4] (java.util.Arrays.ArrayList <1234789>)
@@ -1025,7 +1025,7 @@ Following each in action:
```kotlin
expect(listOf(1, 2, 3, 4)).any { isLessThan(0) }
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L263) ↓ [Output](#ex-collection-any)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L264) ↓ [Output](#ex-collection-any)
```text
expected that subject: [1, 2, 3, 4] (java.util.Arrays.ArrayList <1234789>)
@@ -1042,7 +1042,7 @@ expected that subject: [1, 2, 3, 4] (java.util.Arrays.ArrayList <1234789>
```kotlin
expect(listOf(1, 2, 3, 4)).none { isGreaterThan(2) }
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L266) ↓ [Output](#ex-collection-none)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L267) ↓ [Output](#ex-collection-none)
```text
expected that subject: [1, 2, 3, 4] (java.util.Arrays.ArrayList <1234789>)
@@ -1061,7 +1061,7 @@ expected that subject: [1, 2, 3, 4] (java.util.Arrays.ArrayList <1234789>
```kotlin
expect(listOf(1, 2, 3, 4)).all { isGreaterThan(2) }
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L269) ↓ [Output](#ex-collection-all)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L270) ↓ [Output](#ex-collection-all)
```text
expected that subject: [1, 2, 3, 4] (java.util.Arrays.ArrayList <1234789>)
@@ -1091,7 +1091,7 @@ Following on the last section we will start with an `inOrder` example:
```kotlin
expect(listOf(1, 2, 2, 4)).contains.inOrder.only.entries({ isLessThan(3) }, { isLessThan(2) })
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L273) ↓ [Output](#ex-collection-builder-1)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L274) ↓ [Output](#ex-collection-builder-1)
```text
expected that subject: [1, 2, 2, 4] (java.util.Arrays.ArrayList <1234789>)
@@ -1139,7 +1139,7 @@ and we happily answer your question there.
```kotlin
expect(listOf(1, 2, 2, 4)).contains.inOrder.only.values(1, 2, 2, 3, 4)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L276) ↓ [Output](#ex-collection-builder-2)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L277) ↓ [Output](#ex-collection-builder-2)
```text
expected that subject: [1, 2, 2, 4] (java.util.Arrays.ArrayList <1234789>)
@@ -1164,7 +1164,7 @@ expected that subject: [1, 2, 2, 4] (java.util.Arrays.ArrayList <1234789>
```kotlin
expect(listOf(1, 2, 2, 4)).contains.inAnyOrder.atLeast(1).butAtMost(2).entries({ isLessThan(3) })
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L279) ↓ [Output](#ex-collection-builder-3)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L280) ↓ [Output](#ex-collection-builder-3)
```text
expected that subject: [1, 2, 2, 4] (java.util.Arrays.ArrayList <1234789>)
@@ -1181,7 +1181,7 @@ expected that subject: [1, 2, 2, 4] (java.util.Arrays.ArrayList <1234789>
```kotlin
expect(listOf(1, 2, 2, 4)).contains.inAnyOrder.only.values(1, 2, 3, 4)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L282) ↓ [Output](#ex-collection-builder-4)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L283) ↓ [Output](#ex-collection-builder-4)
```text
expected that subject: [1, 2, 2, 4] (java.util.Arrays.ArrayList <1234789>)
@@ -1202,7 +1202,7 @@ expected that subject: [1, 2, 2, 4] (java.util.Arrays.ArrayList <1234789>
```kotlin
expect(listOf(1, 2, 2, 4)).contains.inAnyOrder.only.values(4, 3, 2, 2, 1)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L285) ↓ [Output](#ex-collection-builder-5)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L286) ↓ [Output](#ex-collection-builder-5)
```text
expected that subject: [1, 2, 2, 4] (java.util.Arrays.ArrayList <1234789>)
@@ -1232,7 +1232,7 @@ and more [Sophisticated Assertion Builder](#sophisticated-assertion-builders-1)
```kotlin
expect(mapOf("a" to 1, "b" to 2)).contains("c" to 2, "a" to 1, "b" to 1)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L289) ↓ [Output](#ex-map-1)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L290) ↓ [Output](#ex-map-1)
```text
expected that subject: {a=1, b=2} (java.util.LinkedHashMap <1234789>)
@@ -1256,7 +1256,7 @@ expect(mapOf("a" to 1, "b" to 2)).contains(
KeyValue("b") { isLessThan(2) }
)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L292) ↓ [Output](#ex-map-2)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L293) ↓ [Output](#ex-map-2)
```text
expected that subject: {a=1, b=2} (java.util.LinkedHashMap <1234789>)
@@ -1278,7 +1278,7 @@ Again both overloads are provided, one for key-value `Pair`s:
```kotlin
expect(mapOf("a" to 1, "b" to 2)).containsOnly("b" to 2)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L300) ↓ [Output](#ex-map-only-1)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L301) ↓ [Output](#ex-map-only-1)
```text
expected that subject: {a=1, b=2} (java.util.LinkedHashMap <1234789>)
@@ -1303,7 +1303,7 @@ expect(mapOf("a" to 1, "b" to 2)).containsOnly(
KeyValue("b") { isLessThan(2) }
)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L303) ↓ [Output](#ex-map-only-2)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L304) ↓ [Output](#ex-map-only-2)
```text
expected that subject: {a=1, b=2} (java.util.LinkedHashMap <1234789>)
@@ -1331,7 +1331,7 @@ again provide two overloads, one expecting key-value `Pair`s:
```kotlin
expect(mapOf("a" to 1, "b" to 2)).contains.inOrder.only.entries("b" to 2, "a" to 1)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L311) ↓ [Output](#ex-map-builder-1)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L312) ↓ [Output](#ex-map-builder-1)
```text
expected that subject: {a=1, b=2} (java.util.LinkedHashMap <1234789>)
@@ -1360,7 +1360,7 @@ expect(mapOf("a" to 1, "b" to 2)).contains.inOrder.only.entries(
KeyValue("a") { isLessThan(2) },
KeyValue("b") { isLessThan(2) })
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L314) ↓ [Output](#ex-map-builder-2)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L315) ↓ [Output](#ex-map-builder-2)
```text
expected that subject: {a=1, b=2} (java.util.LinkedHashMap <1234789>)
@@ -1399,7 +1399,7 @@ expect(mapOf("bernstein" to bernstein))
feature { f(it::firstName) }.toBe("Albert")
}
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L324) ↓ [Output](#ex-map-3)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L325) ↓ [Output](#ex-map-3)
```text
expected that subject: {bernstein=Person(firstName=Leonard, lastName=Bernstein, age=50)} (java.util.Collections.SingletonMap <1234789>)
@@ -1419,7 +1419,7 @@ expect(mapOf("a" to 1, "b" to 2)) {
values { none { isGreaterThan(1) } }
}
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L336) ↓ [Output](#ex-map-4)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L337) ↓ [Output](#ex-map-4)
```text
expected that subject: {a=1, b=2} (java.util.LinkedHashMap <1234789>)
@@ -1457,7 +1457,7 @@ expect(linkedMapOf("a" to 1, "b" to 2)).asEntries().contains.inOrder.only.entrie
}
)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L342) ↓ [Output](#ex-map-5)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L343) ↓ [Output](#ex-map-5)
```text
expected that subject: {a=1, b=2} (java.util.LinkedHashMap <1234789>)
@@ -1492,7 +1492,7 @@ For example, `exists` will explain which entry was the first one missing:
```kotlin
expect(Paths.get("/usr/bin/noprogram")).exists()
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L352) ↓ [Output](#ex-path-exists)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L353) ↓ [Output](#ex-path-exists)
```text
expected that subject: /usr/bin/noprogram (sun.nio.fs.UnixPath <1234789>)
@@ -1508,7 +1508,7 @@ Atrium will give details about why something cannot be accessed, for example whe
```kotlin
expect(Paths.get("/root/.ssh/config")).isWritable()
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L356) ↓ [Output](#ex-path-writable)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L357) ↓ [Output](#ex-path-writable)
```text
expected that subject: /root/.ssh/config (sun.nio.fs.UnixPath <1234789>)
@@ -1531,9 +1531,8 @@ val filePointer = Files.createSymbolicLink(directory.resolve("directory"), file)
expect(filePointer.resolve("subfolder/file")).isRegularFile()
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L361) ↓ [Output](#ex-path-symlink-and-parent-not-folder)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L362) ↓ [Output](#ex-path-symlink-and-parent-not-folder)
-
```text
expected that subject: /tmp/atrium-path/directory/subfolder/file (sun.nio.fs.UnixPath <1234789>)
◆ is: a file
@@ -1541,7 +1540,6 @@ expected that subject: /tmp/atrium-path/directory/subfolder/file (sun.nio
» failure at parent path: /tmp/atrium-path/file (sun.nio.fs.UnixPath <1234789>)
» was a file instead of a directory
```
-
## Attaching a Reason
@@ -1557,9 +1555,7 @@ expect("filename?")
containsNot("?")
}
```
-
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L370)
-↓ [Output](#ex-because-1)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L371) ↓ [Output](#ex-because-1)
```text
expected that subject: "filename?" <1234789>
@@ -1614,7 +1610,7 @@ expect("calling myFun with...") {
}
}
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L411) ↓ [Output](#ex-data-driven-1)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L382) ↓ [Output](#ex-data-driven-1)
```text
expected that subject: "calling myFun with..." <1234789>
@@ -1649,7 +1645,7 @@ expect("calling myFun with ...") {
}
}
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L425) ↓ [Output](#ex-data-driven-2)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L396) ↓ [Output](#ex-data-driven-2)
```text
expected that subject: "calling myFun with ..." <1234789>
@@ -1690,7 +1686,7 @@ expect("calling myNullableFun with ...") {
}
}
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L443) ↓ [Output](#ex-data-driven-3)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L414) ↓ [Output](#ex-data-driven-3)
```text
expected that subject: "calling myNullableFun with ..." <1234789>
@@ -1836,10 +1832,10 @@ expect {
}
}.toThrow { messageContains("no no no") }
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L467) ↓ [Output](#ex-add-info-3)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L438) ↓ [Output](#ex-add-info-3)
```text
-expected that subject: () -> kotlin.Nothing (readme.examples.ReadmeSpec2$1$42$1 <1234789>)
+expected that subject: () -> kotlin.Nothing (readme.examples.ReadmeSpec2$1$36$1 <1234789>)
◆ ▶ thrown exception when called: java.lang.IllegalArgumentException
◾ is instance of type: IllegalStateException (java.lang.IllegalStateException)
» ▶ message:
@@ -1851,14 +1847,14 @@ expected that subject: () -> kotlin.Nothing (readme.examples.ReadmeSpec2$
ℹ Properties of the unexpected IllegalArgumentException
» message: "no no no..." <1234789>
» stacktrace:
- ⚬ readme.examples.ReadmeSpec2$1$42$1.invoke(ReadmeSpec.kt:472)
- ⚬ readme.examples.ReadmeSpec2$1$42$1.invoke(ReadmeSpec.kt:227)
- ⚬ readme.examples.ReadmeSpec2$1$42.invoke(ReadmeSpec.kt:691)
- ⚬ readme.examples.ReadmeSpec2$1$42.invoke(ReadmeSpec.kt:227)
+ ⚬ readme.examples.ReadmeSpec2$1$36$1.invoke(ReadmeSpec.kt:443)
+ ⚬ readme.examples.ReadmeSpec2$1$36$1.invoke(ReadmeSpec.kt:228)
+ ⚬ readme.examples.ReadmeSpec2$1$36.invoke(ReadmeSpec.kt:662)
+ ⚬ readme.examples.ReadmeSpec2$1$36.invoke(ReadmeSpec.kt:228)
» cause: java.lang.UnsupportedOperationException
» message: "not supported" <1234789>
» stacktrace:
- ⚬ readme.examples.ReadmeSpec2$1$42$1.invoke(ReadmeSpec.kt:470)
+ ⚬ readme.examples.ReadmeSpec2$1$36$1.invoke(ReadmeSpec.kt:441)
```
@@ -1879,7 +1875,7 @@ then Atrium reminds us of the possible pitfall. For instance:
```kotlin
expect(BigDecimal.TEN).isEqualIncludingScale(BigDecimal("10.0"))
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L477) ↓ [Output](#ex-pitfall-1)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L448) ↓ [Output](#ex-pitfall-1)
```text
expected that subject: 10 (java.math.BigDecimal <1234789>)
@@ -1897,7 +1893,7 @@ For instance:
```kotlin
expect(listOf(1)).get(0) {}
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L480) ↓ [Output](#ex-pitfall-2)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L451) ↓ [Output](#ex-pitfall-2)
```text
expected that subject: [1] (java.util.Collections.SingletonList <1234789>)
@@ -1974,7 +1970,7 @@ and its usage:
```kotlin
expect(12).isMultipleOf(5)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L492) ↓ [Output](#ex-own-boolean-1)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L463) ↓ [Output](#ex-own-boolean-1)
```text
expected that subject: 12 (kotlin.Int <1234789>)
@@ -2024,7 +2020,7 @@ Its usage looks then as follows:
```kotlin
expect(13).isEven()
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L503) ↓ [Output](#ex-own-boolean-2)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L474) ↓ [Output](#ex-own-boolean-2)
```text
expected that subject: 13 (kotlin.Int <1234789>)
@@ -2123,7 +2119,7 @@ Its usage is then as follows:
expect(Person("Susanne", "Whitley", 43, listOf()))
.hasNumberOfChildren(2)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L542) ↓ [Output](#ex-own-compose-3)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L513) ↓ [Output](#ex-own-compose-3)
```text
expected that subject: Person(firstName=Susanne, lastName=Whitley, age=43, children=[]) (readme.examples.Person <1234789>)
@@ -2157,7 +2153,7 @@ but we do not have to, as `all` already checks that there is at least one elemen
expect(Person("Susanne", "Whitley", 43, listOf()))
.hasAdultChildren()
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L557) ↓ [Output](#ex-own-compose-4)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L528) ↓ [Output](#ex-own-compose-4)
```text
expected that subject: Person(firstName=Susanne, lastName=Whitley, age=43, children=[]) (readme.examples.Person <1234789>)
@@ -2199,7 +2195,7 @@ expect(Person("Susanne", "Whitley", 43, listOf(Person("Petra", "Whitley", 12, li
.children // using the val -> subsequent assertions are about children and fail fast
.hasSize(2)
```
-↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L567) ↓ [Output](#ex-own-compose-5)
+↑ [Example](https://github.com/robstoll/atrium/tree/master/misc/tools/readme-examples/src/main/kotlin/readme/examples/ReadmeSpec.kt#L538) ↓ [Output](#ex-own-compose-5)
```text
expected that subject: Person(firstName=Susanne, lastName=Whitley, age=43, children=[Person(firstName=Petra, lastName=Whitley, age=12, children=[])]) (readme.examples.Person <1234789>)
@@ -2620,12 +2616,6 @@ Atrium provides KDoc for all APIs - have a look at their KDoc:
- [atrium-api-fluent-en_GB](https://docs.atriumlib.org/latest#/doc/ch.tutteli.atrium.api.fluent.en_-g-b/index.html)
- [atrium-api-infix-en_GB](https://docs.atriumlib.org/latest#/doc/ch.tutteli.atrium.api.infix.en_-g-b/index.html)
-Deprecated APIs:
-- [atrium-api-cc-en_GB](https://docs.atriumlib.org/latest#/doc/ch.tutteli.atrium.api.cc.en_-g-b/index.html)
-- [atrium-api-cc-en_UK](https://docs.atriumlib.org/latest#/doc/ch.tutteli.atrium.api.cc.en_-u-k/index.html)
-- [atrium-api-cc-de_CH](https://docs.atriumlib.org/latest#/doc/ch.tutteli.atrium.api.cc.de_-d-e/index.html)
-- [atrium-api-cc-infix-en_GB](https://docs.atriumlib.org/latest#/doc/ch.tutteli.atrium.api.cc.infix.en_-g-b/index.html)
-
## Problems in conjunction with `feature`
See [Ambiguity Problems](#ambiguity-problems) and [Property does not exist](#property-does-not-exist).
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/charSequenceAssertionsDeprecated.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/charSequenceAssertionsDeprecated.kt
deleted file mode 100644
index 1895f18db..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/charSequenceAssertionsDeprecated.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION", "DeprecatedCallableAddReplaceWith")
-@file:JvmMultifileClass
-@file:JvmName("CharSequenceAssertionsKt")
-
-package ch.tutteli.atrium.api.fluent.en_GB
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.NotCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl.NotCheckerOptionImpl
-import ch.tutteli.atrium.creating.Expect
-import ch.tutteli.atrium.domain.builders.ExpectImpl
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains.Builder
-import ch.tutteli.atrium.domain.creating.charsequence.contains.searchbehaviours.NoOpSearchBehaviour
-import ch.tutteli.atrium.domain.creating.charsequence.contains.searchbehaviours.NotSearchBehaviour
-import kotlin.jvm.JvmMultifileClass
-import kotlin.jvm.JvmName
-
-/**
- * Creates a [CharSequenceContains.Builder] based on this [Expect] which allows to define
- * more sophisticated `contains` assertions.
- *
- * @return The newly created builder.
- */
-@Deprecated("Only here to retain binary backward compatibility; will be removed with 1.0.0")
-fun getContains(expect: Expect): Builder =
- ExpectImpl.charSequence.containsBuilder(expect)
-
-/**
- * Creates a [CharSequenceContains.Builder] based on this [Expect] which allows to define
- * more sophisticated `contains not` assertions.
- *
- * @return The newly created builder.
- */
-@Deprecated("Only here to retain binary backward compatibility; will be removed with 1.0.0")
-fun getContainsNot(expect: Expect): NotCheckerOption =
- NotCheckerOptionImpl(ExpectImpl.charSequence.containsNotBuilder(expect))
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/charSequenceContainsCheckersDeprecated.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/charSequenceContainsCheckersDeprecated.kt
deleted file mode 100644
index 8d8a878c3..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/charSequenceContainsCheckersDeprecated.kt
+++ /dev/null
@@ -1,97 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION", "DeprecatedCallableAddReplaceWith")
-@file:JvmMultifileClass
-@file:JvmName("CharSequenceContainsCheckersKt")
-
-package ch.tutteli.atrium.api.fluent.en_GB
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.*
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl.*
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains.SearchBehaviour
-import kotlin.jvm.JvmMultifileClass
-import kotlin.jvm.JvmName
-
-/**
- * Restricts a `contains` assertion by specifying that the number of occurrences of the value which we are looking
- * for occurs `at least` number of [times] within the search input.
- *
- * @param times The number which the check will compare against the actual number of times an expected value is
- * found in the input of the search.
- *
- * @return The newly created builder.
- * @throws IllegalArgumentException In case [times] is smaller than zero.
- * @throws IllegalArgumentException In case [times] equals to zero; use [containsNot] instead.
- */
-fun CharSequenceContains.Builder.atLeast(
- times: Int
-): AtLeastCheckerOption = AtLeastCheckerOptionImpl(times, this)
-
-/**
- * Restricts a `contains at least` assertion by specifying that the number of occurrences of the value which we
- * are looking for occurs `at most` number of [times] within the search input.
- *
- * The resulting restriction will be a `contains at least but at most` assertion.
- *
- * @param times The number which the check will compare against the actual number of times an expected value is
- * found in the input of the search.
- *
- * @return The newly created builder.
- * @throws IllegalArgumentException In case [times] is smaller than zero.
- * @throws IllegalArgumentException In case [times] equals to zero; use [containsNot] instead.
- * @throws IllegalArgumentException In case [times] of this `at most` restriction equals to the number of the
- * `at least` restriction; use the [exactly] restriction instead.
- */
-fun AtLeastCheckerOption.butAtMost(
- times: Int
-): ButAtMostCheckerOption = ButAtMostCheckerOptionImpl(times, this, containsBuilder)
-
-/**
- * Restricts a `contains` assertion by specifying that the number of occurrences of the value which we
- * are looking for occurs `exactly` number of [times] within the search input.
- *
- * @param times The number which the check will compare against the actual number of times an expected value is
- * found in the input of the search.
- *
- * @return The newly created builder.
- * @throws IllegalArgumentException In case [times] is smaller than zero.
- * @throws IllegalArgumentException In case [times] equals to zero; use [containsNot] instead.
- */
-fun CharSequenceContains.Builder.exactly(
- times: Int
-): ExactlyCheckerOption = ExactlyCheckerOptionImpl(times, this)
-
-/**
- * Restricts a `contains` assertion by specifying that the number of occurrences of the value which we
- * are looking for occurs `at least` once but `at most` number of [times] within the search input.
- *
- * If you want to use a higher lower bound than one, then use `atLeast(2).butAtMost(3)` instead of `atMost(3)`.
- * And in case you want to state that it is either not contained at all or at most a certain number of times,
- * then use `notOrAtMost(2)` instead.
- *
- * @param times The number which the check will compare against the actual number of times an expected value is
- * found in the input of the search.
- *
- * @return The newly created builder.
- * @throws IllegalArgumentException In case [times] is smaller than zero.
- * @throws IllegalArgumentException In case [times] equals to zero; use [containsNot] instead.
- * @throws IllegalArgumentException In case [times] equals to one; use [exactly] instead.
- */
-fun CharSequenceContains.Builder.atMost(
- times: Int
-): AtMostCheckerOption = AtMostCheckerOptionImpl(times, this)
-
-/**
- * Restricts a `contains` assertion by specifying that the number of occurrences of the value which we
- * are looking for occurs `not at all or at most` number of [times] within the search input.
- *
- * @param times The number which the check will compare against the actual number of times an expected value is
- * found in the input of the search.
- *
- * @return The newly created builder.
- * @throws IllegalArgumentException In case [times] is smaller than zero.
- * @throws IllegalArgumentException In case [times] equals to zero; use [containsNot] instead.
- */
-fun CharSequenceContains.Builder.notOrAtMost(
- times: Int
-): NotOrAtMostCheckerOption = NotOrAtMostCheckerOptionImpl(times, this)
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/charSequenceContainsCreatorsDeprecated.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/charSequenceContainsCreatorsDeprecated.kt
deleted file mode 100644
index a425c0619..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/charSequenceContainsCreatorsDeprecated.kt
+++ /dev/null
@@ -1,454 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION", "DeprecatedCallableAddReplaceWith")
-@file:JvmMultifileClass
-@file:JvmName("CharSequenceContainsCreatorsKt")
-
-package ch.tutteli.atrium.api.fluent.en_GB
-
-import ch.tutteli.atrium.creating.Expect
-import ch.tutteli.atrium.domain.builders.ExpectImpl
-import ch.tutteli.atrium.domain.builders.creating.basic.contains.addAssertion
-import ch.tutteli.atrium.domain.builders.utils.toVarArg
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains.Builder
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains.CheckerOption
-import ch.tutteli.atrium.domain.creating.charsequence.contains.searchbehaviours.IgnoringCaseSearchBehaviour
-import ch.tutteli.atrium.domain.creating.charsequence.contains.searchbehaviours.NoOpSearchBehaviour
-import ch.tutteli.atrium.logic.creating.typeutils.CharSequenceOrNumberOrChar
-import ch.tutteli.atrium.logic.creating.typeutils.IterableLike
-import ch.tutteli.kbox.glue
-import kotlin.jvm.JvmMultifileClass
-import kotlin.jvm.JvmName
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [expected] object shall be searched,
- * using a non disjoint search.
- *
- * Delegates to [values].
- *
- * Notice that a runtime check applies which assures that only [CharSequence], [Number] and [Char] are passed.
- * This function expects [CharSequenceOrNumberOrChar] (which is a typealias for [Any]) for your convenience,
- * so that you can mix [String] and [Int] for instance.
- *
- * By non disjoint is meant that "aa" in "aaaa" is found three times and not only two times.
- *
- * @param expected The value which is expected to be contained within the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expected] is not a [CharSequence], [Number] or [Char].
- */
-fun CheckerOption.value(expected: CharSequenceOrNumberOrChar): Expect =
- values(expected)
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [expected] value as well as
- * the [otherExpected] values shall be searched, using a non disjoint search.
- *
- * Notice that a runtime check applies which assures that only [CharSequence], [Number] and [Char] are passed.
- * This function expects [CharSequenceOrNumberOrChar] (which is a typealias for [Any]) for your convenience,
- * so that you can mix [String] and [Int] for instance.
- *
- * By non disjoint is meant that `"aa"` in `"aaaa"` is found three times and not only two times.
- * Also notice, that it does not search for unique matches. Meaning, if the input of the search is `"a"` and [expected]
- * is defined as `"a"` and one [otherExpected] is defined as `"a"` as well, then both match, even though they match the
- * same sequence in the input of the search. Use an option such as [atLeast], [atMost] and [exactly] to control
- * the number of occurrences you expect.
- *
- * Meaning you might want to use:
- * `contains.exactly(2).value("a")`
- * instead of:
- * `contains.atLeast(1).values("a", "a")`
- *
- * @param expected The value which is expected to be contained within the input of the search.
- * @param otherExpected Additional values which are expected to be contained within the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expected] or one of the [otherExpected] is not a
- * [CharSequence], [Number] or [Char].
- */
-fun CheckerOption.values(
- expected: CharSequenceOrNumberOrChar,
- vararg otherExpected: CharSequenceOrNumberOrChar
-): Expect = addAssertion(ExpectImpl.charSequence.contains.values(this, expected glue otherExpected))
-
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [expected] value shall be searched
- * (ignoring case), using a non disjoint search.
- *
- * Delegates to `values(expected)`.
- *
- * Notice that a runtime check applies which assures that only [CharSequence], [Number] and [Char] are passed.
- * This function expects [CharSequenceOrNumberOrChar] (which is a typealias for [Any]) for your convenience,
- * so that you can mix [String] and [Int] for instance.
- *
- * By non disjoint is meant that "aa" in "aaaa" is found three times and not only two times.
- *
- * @param expected The value which is expected to be contained within the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expected] is not a [CharSequence], [Number] or [Char].
- */
-@JvmName("valueIgnoringCase")
-fun CheckerOption.value(
- expected: CharSequenceOrNumberOrChar
-): Expect = values(expected)
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [expected] value as well as
- * the [otherExpected] values shall be searched (ignoring case), using a non disjoint search.
- *
- * Notice that a runtime check applies which assures that only [CharSequence], [Number] and [Char] are passed.
- * This function expects [CharSequenceOrNumberOrChar] (which is a typealias for [Any]) for your convenience,
- * so that you can mix [String] and [Int] for instance.
- *
- * By non disjoint is meant that `"aa"` in `"aaaa"` is found three times and not only two times.
- * Also notice, that it does not search for unique matches. Meaning, if the input of the search is `"a"` and [expected]
- * is defined as `"a"` and one [otherExpected] is defined as `"a"` as well, then both match, even though they match the
- * same sequence in the input of the search. Use an option such as [atLeast], [atMost] and [exactly] to control
- * the number of occurrences you expect.
- *
- * Meaning you might want to use:
- * `contains.ignoringCase.exactly(2).value("a")`
- * instead of:
- * `contains.ignoringCase.atLeast(1).values("a", "a")`
- *
- * @param expected The value which is expected to be contained within the input of the search.
- * @param otherExpected Additional values which are expected to be contained within the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expected] or one of the [otherExpected] is not a
- * [CharSequence], [Number] or [Char].
- */
-@JvmName("valuesIgnoringCase")
-fun CheckerOption.values(
- expected: CharSequenceOrNumberOrChar,
- vararg otherExpected: CharSequenceOrNumberOrChar
-): Expect = addAssertion(ExpectImpl.charSequence.contains.valuesIgnoringCase(this, expected glue otherExpected))
-
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [expected] value shall be searched
- * (ignoring case), using a non disjoint search where it needs to be contained at least once.
- *
- * Delegates to `atLeast(1).value(expected)`.
- *
- * Notice that a runtime check applies which assures that only [CharSequence], [Number] and [Char] are passed.
- * This function expects [CharSequenceOrNumberOrChar] (which is a typealias for [Any]) for your convenience,
- * so that you can mix [String] and [Int] for instance.
- *
- * By non disjoint is meant that "aa" in "aaaa" is found three times and not only two times.
- *
- * @param expected The value which is expected to be contained within the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expected] is not a [CharSequence], [Number] or [Char].
- */
-fun Builder.value(expected: CharSequenceOrNumberOrChar): Expect =
- atLeast(1).value(expected)
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [expected] value as well as
- * the [otherExpected] values shall be searched (ignoring case), using a non disjoint search
- * where each need to be contained at least once.
- *
- * Delegates to `atLeast(1).values(expected, otherExpected)`
- *
- * Notice that a runtime check applies which assures that only [CharSequence], [Number] and [Char] are passed.
- * This function expects [CharSequenceOrNumberOrChar] (which is a typealias for [Any]) for your convenience,
- * so that you can mix [String] and [Int] for instance.
- *
- * By non disjoint is meant that `"aa"` in `"aaaa"` is found three times and not only two times.
- * Also notice, that it does not search for unique matches. Meaning, if the input of the search is `"a"` and [expected]
- * is defined as `"a"` and one [otherExpected] is defined as `"a"` as well, then both match, even though they match the
- * same sequence in the input of the search.
- *
- * @param expected The value which is expected to be contained within the input of the search.
- * @param otherExpected Additional values which are expected to be contained within the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expected] or one of the [otherExpected] is not a
- * [CharSequence], [Number] or [Char].
- */
-fun Builder.values(
- expected: CharSequenceOrNumberOrChar,
- vararg otherExpected: CharSequenceOrNumberOrChar
-): Expect = atLeast(1).values(expected, *otherExpected)
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the given regular expression [pattern]
- * as well as the [otherPatterns] are expected to have a match, using a non disjoint search.
- *
- * By non disjoint is meant that `"aa"` in `"aaaa"` is found three times and not only two times.
- * Also notice, that it does not search for unique matches. Meaning, if the input of the search is `"ab"` and [pattern]
- * is defined as `"a(b)?"` and one of the [otherPatterns] is defined as `"a(b)?"` as well, then both match, even though
- * they match the same sequence in the input of the search. Use an option such as [atLeast], [atMost] and [exactly] to
- * control the number of occurrences you expect.
- *
- * Meaning you might want to use:
- * `contains.exactly(2).regex("a(b)?")`
- * instead of:
- * `contains.atLeast(1).regex("a(b)?", "a(b)?")`
- *
- * @param pattern The pattern which is expected to have a match against the input of the search.
- * @param otherPatterns Additional patterns which are expected to have a match against the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun CheckerOption.regex(
- pattern: String,
- vararg otherPatterns: String
-): Expect = addAssertion(ExpectImpl.charSequence.contains.regex(this, pattern glue otherPatterns))
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the given [Regex] [pattern]
- * as well as the [otherPatterns] are expected to have a match, using a non disjoint search.
- *
- * By non disjoint is meant that `"aa"` in `"aaaa"` is found three times and not only two times.
- * Also notice, that it does not search for unique matches. Meaning, if the input of the search is `"ab"` and [pattern]
- * is defined as `"a(b)?"` and one of the [otherPatterns] is defined as `"a(b)?"` as well, then both match, even though
- * they match the same sequence in the input of the search. Use an option such as [atLeast], [atMost] and [exactly] to
- * control the number of occurrences you expect.
- *
- * Meaning you might want to use:
- * `contains.exactly(2).regex(Regex("a(b)?"))`
- * instead of:
- * `contains.atLeast(1).regex(Regex("a(b)?"), Regex("a(b)?"))`
- *
- * @param pattern The pattern which is expected to have a match against the input of the search.
- * @param otherPatterns Additional patterns which are expected to have a match against the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- *
- * @since 0.9.0
- */
-//TODO rename to `matchFor` with 1.0.0
-fun CheckerOption.regex(
- pattern: Regex,
- vararg otherPatterns: Regex
-): Expect = addAssertion(ExpectImpl.charSequence.contains.regex(this, pattern glue otherPatterns))
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the given regular expression [pattern]
- * as well as the [otherPatterns] are expected to have a match (ignoring case), using a non disjoint search.
- *
- * By non disjoint is meant that `"aa"` in `"aaaa"` is found three times and not only two times.
- * Also notice, that it does not search for unique matches. Meaning, if the input of the search is `"ab"` and [pattern]
- * is defined as `"a(b)?"` and one of the [otherPatterns] is defined as `"a(b)?"` as well, then both match, even though
- * they match the same sequence in the input of the search. Use an option such as [atLeast], [atMost] and [exactly] to
- * control the number of occurrences you expect.
- *
- * Meaning you might want to use:
- * `contains.ignoringCase.exactly(2).regex("a(b)?")`
- * instead of:
- * `contains.ignoringCase.atLeast(1).regex("a(b)?", "a(b)?")`
- *
- * @param pattern The pattern which is expected to have a match against the input of the search.
- * @param otherPatterns Additional patterns which are expected to have a match against the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-@JvmName("regexIgnoringCase")
-fun CheckerOption.regex(
- pattern: String,
- vararg otherPatterns: String
-): Expect = addAssertion(ExpectImpl.charSequence.contains.regexIgnoringCase(this, pattern glue otherPatterns))
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the given regular expression [pattern]
- * as well as the [otherPatterns] are expected to to have at least one match (ignoring case),
- * using a non disjoint search.
- *
- * Delegates to `atLeast(1).regex(pattern, otherPatterns)`
- *
- * By non disjoint is meant that `"aa"` in `"aaaa"` is found three times and not only two times.
- * Also notice, that it does not search for unique matches. Meaning, if the input of the search is `"ab"` and [pattern]
- * is defined as `"a(b)?"` and one of the [otherPatterns] is defined as `"a(b)?"` as well, then both match, even though
- * they match the same sequence in the input of the search. Use an option such as [atLeast], [atMost] and [exactly]
- * to control the number of occurrences you expect.
- *
- * Meaning you might want to use:
- * `contains.ignoringCase.exactly(2).regex("a(b)?")`
- * instead of:
- * `contains.ignoringCase.atLeast(1).regex("a(b)?", "a(b)?")`
- *
- * @param pattern The pattern which is expected to have a match against the input of the search.
- * @param otherPatterns Additional patterns which are expected to have a match against the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun Builder.regex(
- pattern: String,
- vararg otherPatterns: String
-): Expect = atLeast(1).regex(pattern, *otherPatterns)
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where all elements of the [expectedIterable]
- * shall be searched, using a non disjoint search.
- *
- * Delegates to `values(expectedIterable.first(), *expectedIterable.drop(1).toTypedArray())`
- * (see [values] for more information).
- *
- * Notice that a runtime check applies which assures that only [CharSequence], [Number] and [Char] are passed.
- * This function expects [CharSequenceOrNumberOrChar] (which is a typealias for [Any]) for your convenience,
- * so that you can mix [String] and [Int] for instance.
- *
- * By non disjoint is meant that "aa" in "aaaa" is found three times and not only two times.
- *
- * @param expectedIterable The [Iterable] whose elements are expected to be contained within the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expectedIterable] is not a [CharSequence], [Number] or [Char] or the given
- * [expectedIterable] does not have elements (is empty).
- *
- * @since 0.9.0
- * TODO remove with 1.0.0
- */
-fun CheckerOption.elementsOf(
- expectedIterable: Iterable
-): Expect {
- val (first, rest) = toVarArg(expectedIterable)
- return values(first, *rest)
-}
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where all elements of the [expectedIterable]
- * shall be searched (ignoring case), using a non disjoint search.
- *
- * Delegates to `values(expectedIterable.first(), *expectedIterable.drop(1).toTypedArray())`
- * (see [values] for more information).
- *
- * Notice that a runtime check applies which assures that only [CharSequence], [Number] and [Char] are passed.
- * This function expects [CharSequenceOrNumberOrChar] (which is a typealias for [Any]) for your convenience,
- * so that you can mix [String] and [Int] for instance.
- *
- * By non disjoint is meant that "aa" in "aaaa" is found three times and not only two times.
- *
- * @param expectedIterable The [Iterable] whose elements are expected to be contained within the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expectedIterable] is not a [CharSequence], [Number] or [Char] or the given
- * [expectedIterable] does not have elements (is empty).
- *
- * @since 0.9.0
- * TODO remove with 1.0.0
- */
-@JvmName("elementsOfIgnoringCase")
-fun CheckerOption.elementsOf(
- expectedIterable: Iterable
-): Expect {
- val (first, rest) = toVarArg(expectedIterable)
- return values(first, *rest)
-}
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where all elements of the [expectedIterable]
- * shall be searched (ignoring case), using a non disjoint search.
- *
- * Delegates to `values(expectedIterable.first(), *expectedIterable.drop(1).toTypedArray())`
- * (see [values] for more information).
- *
- * Notice that a runtime check applies which assures that only [CharSequence], [Number] and [Char] are passed.
- * This function expects [CharSequenceOrNumberOrChar] (which is a typealias for [Any]) for your convenience,
- * so that you can mix [String] and [Int] for instance.
- *
- * By non disjoint is meant that "aa" in "aaaa" is found three times and not only two times.
- *
- * @param expectedIterable The [Iterable] whose elements are expected to be contained within the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expectedIterable] is not a [CharSequence], [Number] or [Char] or the given
- * [expectedIterable] does not have elements (is empty).
- *
- * @since 0.11.0
- * TODO remove with 1.0.0
- */
-@JvmName("elementsOfIgnoringCase")
-fun Builder.elementsOf(
- expectedIterable: Iterable
-): Expect {
- val (first, rest) = toVarArg(expectedIterable)
- return values(first, *rest)
-}
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where all elements of the [expectedIterableLike]
- * shall be searched, using a non disjoint search.
- *
- * Delegates to `values(expectedIterable.first(), *expectedIterable.drop(1).toTypedArray())`
- * (see [values] for more information).
- *
- * Notice that a runtime check applies which assures that only [Iterable], [Sequence] or one of the [Array] types
- * are passed. This function expects [IterableLike] (which is a typealias for [Any]) to avoid cluttering the API.
- *
- * By non disjoint is meant that "aa" in "aaaa" is found three times and not only two times.
- *
- * @param expectedIterableLike The [IterableLike] whose elements are expected to be contained within the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expectedIterableLike] is not an [Iterable], [Sequence] or one of the [Array] types or the given
- * [expectedIterableLike] does not have elements (is empty).
- *
- * @since 0.13.0
- */
-fun CheckerOption.elementsOf(
- expectedIterableLike: IterableLike
-): Expect {
- val (first, rest) = toVarArg(expectedIterableLike)
- return values(first, *rest)
-}
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where all elements of the [expectedIterableLike]
- * shall be searched (ignoring case), using a non disjoint search.
- *
- * Delegates to `values(expectedIterable.first(), *expectedIterable.drop(1).toTypedArray())`
- * (see [values] for more information).
- *
- * Notice that a runtime check applies which assures that only [Iterable], [Sequence] or one of the [Array] types
- * are passed. This function expects [IterableLike] (which is a typealias for [Any]) to avoid cluttering the API.
- *
- * By non disjoint is meant that "aa" in "aaaa" is found three times and not only two times.
- *
- * @param expectedIterableLike The [IterableLike] whose elements are expected to be contained within the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expectedIterableLike] is not an [Iterable], [Sequence] or one of the [Array] types or the given
- * [expectedIterableLike] does not have elements (is empty).
- *
- * @since 0.13.0
- */
-@JvmName("elementsOfIgnoringCase")
-fun CheckerOption.elementsOf(
- expectedIterableLike: IterableLike
-): Expect {
- val (first, rest) = toVarArg(expectedIterableLike)
- return values(first, *rest)
-}
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where all elements of the [expectedIterableLike]
- * shall be searched (ignoring case), using a non disjoint search.
- *
- * Delegates to `values(expectedIterable.first(), *expectedIterable.drop(1).toTypedArray())`
- * (see [values] for more information).
- *
- * Notice that a runtime check applies which assures that only [Iterable], [Sequence] or one of the [Array] types
- * are passed. This function expects [IterableLike] (which is a typealias for [Any]) to avoid cluttering the API.
- *
- * By non disjoint is meant that "aa" in "aaaa" is found three times and not only two times.
- *
- * @param expectedIterableLike The [IterableLike] whose elements are expected to be contained within the input of the search.
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expectedIterableLike] is not an [Iterable], [Sequence] or one of the [Array] types or the given
- * [expectedIterableLike] does not have elements (is empty).
- *
- * @since 0.13.0
- */
-@JvmName("elementsOfIgnoringCase")
-fun Builder.elementsOf(
- expectedIterableLike: IterableLike
-): Expect {
- val (first, rest) = toVarArg(expectedIterableLike)
- return values(first, *rest)
-}
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/charSequenceContainsSearchBehavioursDeprecated.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/charSequenceContainsSearchBehavioursDeprecated.kt
deleted file mode 100644
index 540f40d0f..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/charSequenceContainsSearchBehavioursDeprecated.kt
+++ /dev/null
@@ -1,34 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION", "DeprecatedCallableAddReplaceWith")
-@file:JvmMultifileClass
-@file:JvmName("CharSequenceContainsSearchBehavioursKt")
-
-package ch.tutteli.atrium.api.fluent.en_GB
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.NotCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl.NotCheckerOptionImpl
-import ch.tutteli.atrium.domain.builders.ExpectImpl
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-import ch.tutteli.atrium.domain.creating.charsequence.contains.searchbehaviours.IgnoringCaseSearchBehaviour
-import ch.tutteli.atrium.domain.creating.charsequence.contains.searchbehaviours.NoOpSearchBehaviour
-import ch.tutteli.atrium.domain.creating.charsequence.contains.searchbehaviours.NotSearchBehaviour
-import kotlin.jvm.JvmMultifileClass
-import kotlin.jvm.JvmName
-
-/**
- * Defines that the v behaviour `ignore case` shall be applied to this sophisticated `contains` assertion.
- *
- * @return The newly created builder.
- */
-val CharSequenceContains.Builder.ignoringCase: CharSequenceContains.Builder
- get() : CharSequenceContains.Builder =
- ExpectImpl.charSequence.contains.searchBehaviours.ignoringCase(this)
-
-/**
- * Defines that the search behaviour `ignore case` shall be applied to this sophisticated `contains not` assertion.
- *
- * @return The newly created builder.
- */
-val NotCheckerOption.ignoringCase: NotCheckerOption
- get() : NotCheckerOption =
- NotCheckerOptionImpl(containsBuilder.ignoringCase)
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/AtLeastCheckerOption.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/AtLeastCheckerOption.kt
deleted file mode 100644
index 00aa646af..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/AtLeastCheckerOption.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders
-
-import ch.tutteli.atrium.domain.builders.creating.charsequence.contains.builders.WithTimesCheckerOption
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-
-/**
- * Represents the extension point for another option after a `contains at least`-check within a sophisticated
- * `contains` assertion building process for [CharSequence].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- */
-@Deprecated(
- "Use AtLeastCheckerStep from atrium-logic; will be removed with 1.0.0",
- ReplaceWith("ch.tutteli.atrium.logic.creating.charsequence.contains.steps.AtLeastCheckerStep")
-)
-interface AtLeastCheckerOption
- : WithTimesCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/AtMostCheckerOption.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/AtMostCheckerOption.kt
deleted file mode 100644
index 3a65f029e..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/AtMostCheckerOption.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders
-
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-
-/**
- * Represents the extension point for another option after a `contains at least once but at most`-check within
- * a sophisticated `contains` assertion building process for [CharSequence].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- */
-@Deprecated(
- "Use AtMostCheckerStep from atrium-logic; will be removed with 1.0.0",
- ReplaceWith("ch.tutteli.atrium.logic.creating.charsequence.contains.steps.AtMostCheckerStep")
-)
-interface AtMostCheckerOption
- : CharSequenceContains.CheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/ButAtMostCheckerOption.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/ButAtMostCheckerOption.kt
deleted file mode 100644
index 8a8e6b0ed..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/ButAtMostCheckerOption.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders
-
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-
-/**
- * Represents the extension point for another option after a `contains at least but at most`-check within
- * a sophisticated `contains` assertion building process for [CharSequence].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- */
-@Deprecated(
- "Use ButAtMostCheckerStep from atrium-logic; will be removed with 1.0.0",
- ReplaceWith("ch.tutteli.atrium.logic.creating.charsequence.contains.steps.ButAtMostCheckerStep")
-)
-interface ButAtMostCheckerOption
- : CharSequenceContains.CheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/ExactlyCheckerOption.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/ExactlyCheckerOption.kt
deleted file mode 100644
index 3836123d0..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/ExactlyCheckerOption.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders
-
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-
-/**
- * Represents the extension point for another option after a `contains exactly`-check within
- * a sophisticated `contains` assertion building process for [CharSequence].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- */
-@Deprecated(
- "Use ExactlyCheckerStep from atrium-logic; will be removed with 1.0.0",
- ReplaceWith("ch.tutteli.atrium.logic.creating.charsequence.contains.steps.ExactlyCheckerStep")
-)
-interface ExactlyCheckerOption
- : CharSequenceContains.CheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/NotCheckerOption.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/NotCheckerOption.kt
deleted file mode 100644
index fef4a8a98..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/NotCheckerOption.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders
-
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-
-/**
- * Represents the extension point for another option after a `contains not at all`-check within
- * a sophisticated `contains` assertion building process for [CharSequence].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- */
-@Deprecated(
- "Use NotCheckerStep from atrium-logic; will be removed with 1.0.0",
- ReplaceWith("ch.tutteli.atrium.logic.creating.charsequence.contains.steps.NotCheckerStep")
-)
-interface NotCheckerOption
- : CharSequenceContains.CheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/NotOrAtMostCheckerOption.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/NotOrAtMostCheckerOption.kt
deleted file mode 100644
index 28c06a880..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/NotOrAtMostCheckerOption.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders
-
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-
-/**
- * Represents the extension point for another option after a `contains not or at most`-check within
- * a sophisticated `contains` assertion building process for [CharSequence].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- */
-@Deprecated(
- "use NotOrAtMostCheckerStep from atrium-logic; will be removed with 1.0.0",
- ReplaceWith("ch.tutteli.atrium.logic.creating.charsequence.contains.steps.NotOrAtMostCheckerStep")
-)
-interface NotOrAtMostCheckerOption
- : CharSequenceContains.CheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/AtLeastCheckerOptionImpl.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/AtLeastCheckerOptionImpl.kt
deleted file mode 100644
index eb417f8be..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/AtLeastCheckerOptionImpl.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.AtLeastCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl.StaticName.nameContainsNotValuesFun
-import ch.tutteli.atrium.domain.builders.creating.charsequence.contains.builders.AtLeastCheckerOptionBase
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-
-/**
- * Represents the builder of a `contains at least`-check within the fluent API of a sophisticated
- * `contains` assertion for [CharSequence].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- *
- * @constructor Represents the builder of a `contains at least` check within the fluent API of a sophisticated
- * `contains` assertion for [CharSequence].
- * @param times The number which the check will compare against the actual number of times an expected object is
- * found in the input of the search.
- * @param containsBuilder The previously used [CharSequenceContains.Builder].
- */
-internal class AtLeastCheckerOptionImpl(
- times: Int,
- containsBuilder: CharSequenceContains.Builder
-) : AtLeastCheckerOptionBase(
- times,
- containsBuilder,
- nameContainsNotValuesFun,
- { "atLeast($it)" }
-), AtLeastCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/AtMostCheckerOptionImpl.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/AtMostCheckerOptionImpl.kt
deleted file mode 100644
index 430b45864..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/AtMostCheckerOptionImpl.kt
+++ /dev/null
@@ -1,34 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.AtMostCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl.StaticName.nameContainsNotValuesFun
-import ch.tutteli.atrium.domain.builders.creating.charsequence.contains.builders.AtMostCheckerOptionBase
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-
-/**
- * Represents the builder of a `contains at least once but at most` check within the fluent API of a
- * sophisticated `contains` assertion for [CharSequence].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- *
- * @constructor Represents the builder of a `contains at least once but at most` check within the fluent API of a
- * sophisticated `contains` assertion for [CharSequence].
- * @param times The number which the check will compare against the actual number of times an expected object is
- * found in the input of the search.
- * @param containsBuilder The previously used [CharSequenceContains.Builder].
- */
-internal class AtMostCheckerOptionImpl(
- times: Int,
- containsBuilder: CharSequenceContains.Builder
-) : AtMostCheckerOptionBase(
- times,
- containsBuilder,
- nameContainsNotValuesFun,
- { "atMost($it)" },
- { "atLeast($it)" },
- { "exactly($it)" }
-), AtMostCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/ButAtMostCheckerOptionImpl.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/ButAtMostCheckerOptionImpl.kt
deleted file mode 100644
index 5e643f88b..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/ButAtMostCheckerOptionImpl.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.AtLeastCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.ButAtMostCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl.StaticName.nameContainsNotValuesFun
-import ch.tutteli.atrium.domain.builders.creating.charsequence.contains.builders.ButAtMostCheckerOptionBase
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-
-/**
- * Represents the builder of the second step of a `contains at least but at most` check within the
- * fluent API of a sophisticated `contains` assertion for [CharSequence].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied to the input of the search.
- *
- * @constructor Represents the builder of the second step of a `contains at least but at most` check within the
- * fluent API of a sophisticated `contains` assertion for [CharSequence].
- * @param times The number which the check will compare against the actual number of times an expected object is
- * found in the input of the search.
- * @param containsBuilder The previously used [CharSequenceContains.Builder].
- */
-internal class ButAtMostCheckerOptionImpl(
- times: Int,
- atLeastBuilder: AtLeastCheckerOption,
- containsBuilder: CharSequenceContains.Builder
-) : ButAtMostCheckerOptionBase(
- times,
- atLeastBuilder,
- containsBuilder,
- nameContainsNotValuesFun,
- { l, u -> "atLeast($l).butAtMost($u)" },
- { "atMost($it)" },
- { "atLeast($it)" },
- { "butAtMost($it)" },
- { "exactly($it)" }
-), ButAtMostCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/ExactlyCheckerOptionImpl.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/ExactlyCheckerOptionImpl.kt
deleted file mode 100644
index 3e0644907..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/ExactlyCheckerOptionImpl.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.ExactlyCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl.StaticName.nameContainsNotValuesFun
-import ch.tutteli.atrium.domain.builders.creating.charsequence.contains.builders.ExactlyCheckerOptionBase
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-
-/**
- * Represents the builder of a `contains exactly` check within the fluent API of a sophisticated
- * `contains` assertion for [CharSequence].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- *
- * @constructor Represents the builder of a `contains exactly` check within the fluent API of a sophisticated
- * `contains` assertion for [CharSequence].
- * @param times The number which the check will compare against the actual number of times an expected object is
- * found in the input of the search.
- * @param containsBuilder The previously used [CharSequenceContains.Builder].
- */
-internal class ExactlyCheckerOptionImpl(
- times: Int,
- containsBuilder: CharSequenceContains.Builder
-) : ExactlyCheckerOptionBase(
- times,
- containsBuilder,
- nameContainsNotValuesFun,
- { "exactly($it)" }
-), ExactlyCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/NotCheckerOptionImpl.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/NotCheckerOptionImpl.kt
deleted file mode 100644
index d2e618769..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/NotCheckerOptionImpl.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.NotCheckerOption
-import ch.tutteli.atrium.domain.builders.creating.charsequence.contains.builders.NotCheckerOptionBase
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-
-/**
- * Represents the builder of a `contains not at all` check within the fluent API of a sophisticated
- * `contains` assertion for [CharSequence].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- *
- * @constructor Represents the builder of a `contains not at all` check within the fluent API of a sophisticated
- * `contains` assertion for [CharSequence].
- * @param containsBuilder The previously used [CharSequenceContains.Builder].
- */
-internal class NotCheckerOptionImpl(
- containsBuilder: CharSequenceContains.Builder
-) : NotCheckerOptionBase(containsBuilder),
- NotCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/NotOrAtMostCheckerOptionImpl.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/NotOrAtMostCheckerOptionImpl.kt
deleted file mode 100644
index a18cac191..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/NotOrAtMostCheckerOptionImpl.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.NotOrAtMostCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl.StaticName.nameContainsNotValuesFun
-import ch.tutteli.atrium.domain.builders.creating.charsequence.contains.builders.NotOrAtMostCheckerOptionBase
-import ch.tutteli.atrium.domain.creating.charsequence.contains.CharSequenceContains
-
-/**
- * Represents the builder of a `contains not or at most` check within the fluent API of a
- * sophisticated `contains` assertion for [CharSequence].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- *
- * @constructor Represents the builder of a `contains not or at most` check within the fluent API of a
- * sophisticated `contains` assertion for [CharSequence].
- * @param times The number which the check will compare against the actual number of times an expected object is
- * found in the input of the search.
- * @param containsBuilder The previously used [CharSequenceContains.Builder].
- */
-internal class NotOrAtMostCheckerOptionImpl(
- times: Int,
- containsBuilder: CharSequenceContains.Builder
-) : NotOrAtMostCheckerOptionBase(
- times,
- containsBuilder,
- nameContainsNotValuesFun,
- { "notOrAtMost($it)" }
-), NotOrAtMostCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/nameContainsNotFun.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/nameContainsNotFun.kt
deleted file mode 100644
index 862ca3fa1..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/charsequence/contains/builders/impl/nameContainsNotFun.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-@file:Suppress("DEPRECATION" /* will be removed with 1.0.0 */)
-package ch.tutteli.atrium.api.fluent.en_GB.creating.charsequence.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.containsNot
-import ch.tutteli.atrium.creating.Expect
-import kotlin.reflect.KFunction3
-
-internal object StaticName {
- private val f: KFunction3, Any, Array, Expect> =
- Expect::containsNot
- val nameContainsNotValuesFun = f.name
-}
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/AtLeastCheckerOption.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/AtLeastCheckerOption.kt
deleted file mode 100644
index f13b15a58..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/AtLeastCheckerOption.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders
-
-import ch.tutteli.atrium.domain.builders.creating.iterable.contains.builders.WithTimesCheckerOption
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-
-/**
- * Represents the extension point for another option after a `contains at least`-check within a sophisticated
- * `contains` assertion building process for [Iterable].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- */
-@Deprecated(
- "Use AtLeastCheckerStep from atrium-logic; will be removed with 1.0.0",
- ReplaceWith("ch.tutteli.atrium.logic.creating.iterable.contains.steps.AtLeastCheckerStep")
-)
-interface AtLeastCheckerOption, out S : IterableContains.SearchBehaviour>
- : WithTimesCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/AtMostCheckerOption.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/AtMostCheckerOption.kt
deleted file mode 100644
index e0e14699b..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/AtMostCheckerOption.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders
-
-import ch.tutteli.atrium.domain.builders.creating.iterable.contains.builders.WithTimesCheckerOption
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-
-/**
- * Represents the extension point for another option after a `contains at least once but at most`-check within
- * a sophisticated `contains` assertion building process for [Iterable].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- */
-@Deprecated(
- "Use AtMostCheckerStep from atrium-logic; will be removed with 1.0.0",
- ReplaceWith("ch.tutteli.atrium.logic.creating.iterable.contains.steps.AtMostCheckerStep")
-)
-interface AtMostCheckerOption, out S : IterableContains.SearchBehaviour>
- : WithTimesCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/ButAtMostCheckerOption.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/ButAtMostCheckerOption.kt
deleted file mode 100644
index f298c57f0..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/ButAtMostCheckerOption.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders
-
-import ch.tutteli.atrium.domain.builders.creating.iterable.contains.builders.WithTimesCheckerOption
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-
-/**
- * Represents the extension point for another option after a `contains at least but at most`-check within a
- * sophisticated `contains` assertion building process for [Iterable].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- */
-@Deprecated(
- "Use ButAtMostCheckerStep from atrium-logic; will be removed with 1.0.0",
- ReplaceWith("ch.tutteli.atrium.logic.creating.iterable.contains.steps.ButAtMostCheckerStep")
-)
-interface ButAtMostCheckerOption, out S : IterableContains.SearchBehaviour>
- : WithTimesCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/ExactlyCheckerOption.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/ExactlyCheckerOption.kt
deleted file mode 100644
index 7701f9cc3..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/ExactlyCheckerOption.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders
-
-import ch.tutteli.atrium.domain.builders.creating.iterable.contains.builders.WithTimesCheckerOption
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-
-/**
- * Represents the extension point for another option after a `contains exactly`-check within
- * a sophisticated `contains` assertion building process for [Iterable].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- */
-@Deprecated(
- "Use ExactlyCheckerStep from atrium-logic; will be removed with 1.0.0",
- ReplaceWith("ch.tutteli.atrium.logic.creating.iterable.contains.steps.ExactlyCheckerStep")
-)
-interface ExactlyCheckerOption, out S : IterableContains.SearchBehaviour>
- : WithTimesCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/NotCheckerOption.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/NotCheckerOption.kt
deleted file mode 100644
index f353bae28..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/NotCheckerOption.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders
-
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-
-/**
- * Represents the extension point for another option after a `contains not at all`-check within
- * a sophisticated `contains` assertion building process for [Iterable].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- */
-@Deprecated(
- "Use NotCheckerStep from atrium-logic; will be removed with 1.0.0",
- ReplaceWith("ch.tutteli.atrium.logic.creating.iterable.contains.steps.NotCheckerStep")
-)
-interface NotCheckerOption, out S : IterableContains.SearchBehaviour>
- : IterableContains.CheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/NotOrAtMostCheckerOption.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/NotOrAtMostCheckerOption.kt
deleted file mode 100644
index d4c78b316..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/NotOrAtMostCheckerOption.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders
-
-import ch.tutteli.atrium.domain.builders.creating.iterable.contains.builders.WithTimesCheckerOption
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-
-/**
- * Represents the extension point for another option after a `contains not or at most`-check within
- * a sophisticated `contains` assertion building process for [Iterable].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- */
-@Deprecated(
- "Use NotOrAtMostCheckerStep from atrium-logic; will be removed with 1.0.0",
- ReplaceWith("ch.tutteli.atrium.logic.creating.iterable.contains.steps.NotOrAtMostCheckerStep")
-)
-interface NotOrAtMostCheckerOption, out S : IterableContains.SearchBehaviour>
- : WithTimesCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/AtLeastCheckerOptionImpl.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/AtLeastCheckerOptionImpl.kt
deleted file mode 100644
index eeee6c6f9..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/AtLeastCheckerOptionImpl.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.AtLeastCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl.StaticName.nameContainsNotValuesFun
-import ch.tutteli.atrium.domain.builders.creating.iterable.contains.builders.AtLeastCheckerOptionBase
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-import ch.tutteli.atrium.domain.creating.iterable.contains.searchbehaviours.InAnyOrderSearchBehaviour
-
-/**
- * Represents the builder of a `contains at least` check within the fluent API of a sophisticated
- * `contains` assertion for [Iterable].
- *
- * @param T The input type of the search.
- *
- * @constructor Represents the builder of a `contains at least` check within the fluent API of a sophisticated
- * `contains` assertion for [Iterable].
- * @param times The number which the check will compare against the actual number of times an expected entry is
- * found in the [Iterable].
- * @param containsBuilder The previously used [IterableContains.Builder].
- */
-internal class AtLeastCheckerOptionImpl, out S : InAnyOrderSearchBehaviour>(
- times: Int,
- containsBuilder: IterableContains.Builder
-) : AtLeastCheckerOptionBase(
- times,
- containsBuilder,
- nameContainsNotValuesFun,
- { "atLeast($it)" }
-), AtLeastCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/AtMostCheckerOptionImpl.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/AtMostCheckerOptionImpl.kt
deleted file mode 100644
index 08133069c..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/AtMostCheckerOptionImpl.kt
+++ /dev/null
@@ -1,34 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.AtMostCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl.StaticName.nameContainsNotValuesFun
-import ch.tutteli.atrium.domain.builders.creating.iterable.contains.builders.AtMostCheckerOptionBase
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-import ch.tutteli.atrium.domain.creating.iterable.contains.searchbehaviours.InAnyOrderSearchBehaviour
-
-/**
- * Represents the builder of a `contains at least once but at most` check within the fluent API of a
- * sophisticated `contains` assertion for [Iterable].
- *
- * @param T The input type of the search.
- *
- * @constructor Represents the builder of a `contains at least once but at most` check within the fluent API of a
- * sophisticated `contains` assertion for [Iterable].
- * @param times The number which the check will compare against the actual number of times an expected entry is
- * found in the [Iterable].
- * @param containsBuilder The previously used [IterableContains.Builder].
- */
-internal class AtMostCheckerOptionImpl, out S : InAnyOrderSearchBehaviour>(
- times: Int,
- containsBuilder: IterableContains.Builder
-) : AtMostCheckerOptionBase(
- times,
- containsBuilder,
- nameContainsNotValuesFun,
- { "atMost($it)" },
- { "atLeast($it)" },
- { "exactly($it)" }
-), AtMostCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/ButAtMostCheckerOptionImpl.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/ButAtMostCheckerOptionImpl.kt
deleted file mode 100644
index 6577f4b34..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/ButAtMostCheckerOptionImpl.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.AtLeastCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.ButAtMostCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl.StaticName.nameContainsNotValuesFun
-import ch.tutteli.atrium.domain.builders.creating.iterable.contains.builders.ButAtMostCheckerOptionBase
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-import ch.tutteli.atrium.domain.creating.iterable.contains.searchbehaviours.InAnyOrderSearchBehaviour
-
-/**
- * Represents the builder of the second step of a `contains at least but at most` check within the
- * fluent API of a sophisticated `contains` assertion for [Iterable].
- *
- * @param T The input type of the search.
- *
- * @constructor Represents the builder of the second step of a `contains at least but at most` check within the
- * fluent API of a sophisticated `contains` assertion for [Iterable].
- * @param times The number which the check will compare against the actual number of times an expected entry is
- * found in the [Iterable].
- * @param containsBuilder The previously used [IterableContains.Builder].
- */
-internal class ButAtMostCheckerOptionImpl, out S : InAnyOrderSearchBehaviour>(
- times: Int,
- atLeastBuilder: AtLeastCheckerOption,
- containsBuilder: IterableContains.Builder
-) : ButAtMostCheckerOptionBase(
- times,
- atLeastBuilder,
- containsBuilder,
- nameContainsNotValuesFun,
- { l, u -> "atLeast($l).butAtMost($u)" },
- { "atMost($it)" },
- { "atLeast($it)" },
- { "butAtMost($it)" },
- { "exactly($it)" }
-), ButAtMostCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/ExactlyCheckerOptionImpl.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/ExactlyCheckerOptionImpl.kt
deleted file mode 100644
index d356c40df..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/ExactlyCheckerOptionImpl.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.ExactlyCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl.StaticName.nameContainsNotValuesFun
-import ch.tutteli.atrium.domain.builders.creating.iterable.contains.builders.ExactlyCheckerOptionBase
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-import ch.tutteli.atrium.domain.creating.iterable.contains.searchbehaviours.InAnyOrderSearchBehaviour
-
-/**
- * Represents the builder of a `contains exactly` check within the fluent API of a sophisticated
- * `contains` assertion for [Iterable].
- *
- * @param T The input type of the search.
- *
- * @constructor Represents the builder of a `contains exactly` check within the fluent API of a sophisticated
- * `contains` assertion for [Iterable].
- * @param times The number which the check will compare against the actual number of times an expected entry is
- * found in the [Iterable].
- * @param containsBuilder The previously used [IterableContains.Builder].
- */
-internal class ExactlyCheckerOptionImpl, out S : InAnyOrderSearchBehaviour>(
- times: Int,
- containsBuilder: IterableContains.Builder
-) : ExactlyCheckerOptionBase(
- times,
- containsBuilder,
- nameContainsNotValuesFun,
- { "exactly($it)" }
-), ExactlyCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/NotCheckerOptionImpl.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/NotCheckerOptionImpl.kt
deleted file mode 100644
index a88eb5e48..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/NotCheckerOptionImpl.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.NotCheckerOption
-import ch.tutteli.atrium.domain.builders.creating.iterable.contains.builders.NotCheckerOptionBase
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-import ch.tutteli.atrium.domain.creating.iterable.contains.searchbehaviours.InAnyOrderSearchBehaviour
-
-/**
- * Represents the builder of a `contains not at all` check within the fluent API of a sophisticated
- * `contains` assertion for [Iterable].
- *
- * @param T The input type of the search.
- * @param S The search behaviour which should be applied for the input of the search.
- *
- * @constructor Represents the builder of a `contains not at all` check within the fluent API of a sophisticated
- * `contains not` assertion for [Iterable].
- * @param containsBuilder The previously used [IterableContains.Builder].
- */
-internal class NotCheckerOptionImpl, out S : InAnyOrderSearchBehaviour>(
- containsBuilder: IterableContains.Builder
-) : NotCheckerOptionBase(containsBuilder),
- NotCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/NotOrAtMostCheckerOptionImpl.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/NotOrAtMostCheckerOptionImpl.kt
deleted file mode 100644
index d975414b5..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/NotOrAtMostCheckerOptionImpl.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.NotOrAtMostCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl.StaticName.nameContainsNotValuesFun
-import ch.tutteli.atrium.domain.builders.creating.iterable.contains.builders.NotOrAtMostCheckerOptionBase
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-import ch.tutteli.atrium.domain.creating.iterable.contains.searchbehaviours.InAnyOrderSearchBehaviour
-
-/**
- * Represents the builder of a `contains not or at most` check within the fluent API of a
- * sophisticated `contains` assertion for [Iterable].
- *
- * @param T The input type of the search.
- *
- * @constructor Represents the builder of a `contains at least once but at most` check within the fluent API of a
- * sophisticated `contains` assertion for [Iterable].
- * @param times The number which the check will compare against the actual number of times an expected entry is
- * found in the [Iterable].
- * @param containsBuilder The previously used [IterableContains.Builder].
- */
-internal class NotOrAtMostCheckerOptionImpl, out S : InAnyOrderSearchBehaviour>(
- times: Int,
- containsBuilder: IterableContains.Builder
-) : NotOrAtMostCheckerOptionBase(
- times,
- containsBuilder,
- nameContainsNotValuesFun,
- { "notOrAtMost($it)" }
-), NotOrAtMostCheckerOption
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/nameContainsNotFun.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/nameContainsNotFun.kt
deleted file mode 100644
index dbdb57993..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/creating/iterable/contains/builders/impl/nameContainsNotFun.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-//TODO remove with 1.0.0
-@file:Suppress("DEPRECATION")
-
-package ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl
-
-import ch.tutteli.atrium.api.fluent.en_GB.containsNot
-import ch.tutteli.atrium.creating.Expect
-import kotlin.reflect.KFunction3
-
-internal object StaticName {
- private val f: KFunction3>, Double, Array, Expect>> =
- Expect>::containsNot
- val nameContainsNotValuesFun = f.name
-}
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableAssertionsDeprecated.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableAssertionsDeprecated.kt
deleted file mode 100644
index 29e64469b..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableAssertionsDeprecated.kt
+++ /dev/null
@@ -1,36 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION", "DeprecatedCallableAddReplaceWith")
-@file:JvmMultifileClass
-@file:JvmName("IterableAssertionsKt")
-
-package ch.tutteli.atrium.api.fluent.en_GB
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.NotCheckerOption
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl.NotCheckerOptionImpl
-import ch.tutteli.atrium.creating.Expect
-import ch.tutteli.atrium.domain.builders.ExpectImpl
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-import ch.tutteli.atrium.domain.creating.iterable.contains.searchbehaviours.NoOpSearchBehaviour
-import ch.tutteli.atrium.domain.creating.iterable.contains.searchbehaviours.NotSearchBehaviour
-import kotlin.jvm.JvmMultifileClass
-import kotlin.jvm.JvmName
-
-/**
- * Creates an [IterableContains.Builder] based on this [Expect] which allows to define
- * more sophisticated `contains` assertions.
- *
- * @return The newly created builder.
- */
-@Deprecated("Only here to retain binary backward compatibility; will be removed with 1.0.0")
-fun > getContains(expect: Expect): IterableContains.Builder =
- ExpectImpl.iterable.containsBuilder(expect)
-
-/**
- * Creates an [IterableContains.Builder] based on this [Expect] which allows to define
- * more sophisticated `contains not` assertions.
- *
- * @return The newly created builder.
- */
-@Deprecated("Only here to retain binary backward compatibility; will be removed with 1.0.0")
-fun > getContainsNot(expect: Expect): NotCheckerOption =
- NotCheckerOptionImpl(ExpectImpl.iterable.containsNotBuilder(expect))
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableContainsCheckers.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableContainsCheckers.kt
deleted file mode 100644
index 37656e893..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableContainsCheckers.kt
+++ /dev/null
@@ -1,93 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION", "DeprecatedCallableAddReplaceWith")
-
-package ch.tutteli.atrium.api.fluent.en_GB
-
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.*
-import ch.tutteli.atrium.api.fluent.en_GB.creating.iterable.contains.builders.impl.*
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
-import ch.tutteli.atrium.domain.creating.iterable.contains.searchbehaviours.InAnyOrderSearchBehaviour
-
-/**
- * Restricts a `contains` assertion by specifying that the number of occurrences of the entry which we are looking
- * for occurs `at least` number of [times] within the [Iterable].
- *
- * @param times The number which the check will compare against the actual number of times an expected entry is
- * found in the [Iterable].
- *
- * @return The newly created builder.
- * @throws IllegalArgumentException In case [times] is smaller than zero.
- * @throws IllegalArgumentException In case [times] equals to zero; use [containsNot] instead.
- */
-fun , S : InAnyOrderSearchBehaviour> IterableContains.Builder.atLeast(
- times: Int
-): AtLeastCheckerOption = AtLeastCheckerOptionImpl(times, this)
-
-/**
- * Restricts a `contains at least` assertion by specifying that the number of occurrences of the entry which we
- * are looking for occurs `at most` number of [times] within the [Iterable].
- *
- * The resulting restriction will be a `contains at least but at most` assertion.
- *
- * @param times The number which the check will compare against the actual number of times an expected entry is
- * found in the [Iterable].
- *
- * @return The newly created builder.
- * @throws IllegalArgumentException In case [times] is smaller than zero.
- * @throws IllegalArgumentException In case [times] equals to zero; use [containsNot] instead.
- * @throws IllegalArgumentException In case [times] of this `at most` restriction equals to the number of the
- * `at least` restriction; use the [exactly] restriction instead.
- */
-fun , S : InAnyOrderSearchBehaviour> AtLeastCheckerOption.butAtMost(
- times: Int
-): ButAtMostCheckerOption = ButAtMostCheckerOptionImpl(times, this, containsBuilder)
-
-/**
- * Restricts a `contains` assertion by specifying that the number of occurrences of the entry which we
- * are looking for occurs `exactly` number of [times] within the [Iterable].
- *
- * @param times The number which the check will compare against the actual number of times an expected entry is
- * found in the [Iterable].
- *
- * @return The newly created builder.
- * @throws IllegalArgumentException In case [times] is smaller than zero.
- * @throws IllegalArgumentException In case [times] equals to zero; use [containsNot] instead.
- */
-fun , S : InAnyOrderSearchBehaviour> IterableContains.Builder.exactly(
- times: Int
-): ExactlyCheckerOption = ExactlyCheckerOptionImpl(times, this)
-
-/**
- * Restricts a `contains` assertion by specifying that the number of occurrences of the entry which we
- * are looking for occurs `at least` once but `at most` number of [times] within the [Iterable].
- *
- * If you want to use a higher lower bound than one, then use `atLeast(2).butAtMost(3)` instead of `atMost(3)`.
- * And in case you want to state that it is either not contained at all or at most a certain number of times,
- * then use `notOrAtMost(2)` instead.
- *
- * @param times The number which the check will compare against the actual number of times an expected entry is
- * found in the [Iterable].
- *
- * @return The newly created builder.
- * @throws IllegalArgumentException In case [times] is smaller than zero.
- * @throws IllegalArgumentException In case [times] equals to zero; use [containsNot] instead.
- * @throws IllegalArgumentException In case [times] equals to one; use [exactly] instead.
- */
-fun , S : InAnyOrderSearchBehaviour> IterableContains.Builder.atMost(
- times: Int
-): AtMostCheckerOption = AtMostCheckerOptionImpl(times, this)
-
-/**
- * Restricts a `contains` assertion by specifying that the number of occurrences of the entry which we
- * are looking for occurs `not at all or at most` number of [times] within the [Iterable].
- *
- * @param times The number which the check will compare against the actual number of times an expected entry is
- * found in the [Iterable].
- *
- * @return The newly created builder.
- * @throws IllegalArgumentException In case [times] is smaller than zero.
- * @throws IllegalArgumentException In case [times] equals to zero; use [containsNot] instead.
- */
-fun , S : InAnyOrderSearchBehaviour> IterableContains.Builder.notOrAtMost(
- times: Int
-): NotOrAtMostCheckerOption = NotOrAtMostCheckerOptionImpl(times, this)
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableContainsInAnyOrderCreators.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableContainsInAnyOrderCreators.kt
deleted file mode 100644
index 96be0d9b0..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableContainsInAnyOrderCreators.kt
+++ /dev/null
@@ -1,138 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION", "DeprecatedCallableAddReplaceWith")
-
-package ch.tutteli.atrium.api.fluent.en_GB
-
-import ch.tutteli.atrium.creating.Expect
-import ch.tutteli.atrium.domain.builders.ExpectImpl
-import ch.tutteli.atrium.domain.builders.creating.basic.contains.addAssertion
-import ch.tutteli.atrium.domain.builders.utils.toVarArg
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains.CheckerOption
-import ch.tutteli.atrium.domain.creating.iterable.contains.searchbehaviours.InAnyOrderSearchBehaviour
-import ch.tutteli.atrium.domain.creating.typeutils.IterableLike
-import ch.tutteli.kbox.glue
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [expected]
- * value shall be searched within the [Iterable].
- *
- * Delegates to [values].
- *
- * @param expected The value which is expected to be contained within this [Iterable].
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun > CheckerOption.value(expected: E): Expect =
- values(expected)
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [expected]
- * value as well as the [otherExpected] values (if given) shall be searched within the [Iterable].
- *
- * Notice, that it does not search for unique matches. Meaning, if the iterable is `setOf('a', 'b')` and
- * [expected] is defined as `'a'` and one [otherExpected] is defined as `'a'` as well, then both match,
- * even though they match the same entry. Use an option such as [atLeast], [atMost] and [exactly] to control the
- * number of occurrences you expect.
- *
- * Meaning you might want to use:
- * `contains.inAnyOrder.exactly(2).values('a')`
- * instead of:
- * `contains.inAnyOrder.atLeast(1).values('a', 'a')`
- *
- * @param expected The object which is expected to be contained within this [Iterable].
- * @param otherExpected Additional objects which are expected to be contained within this [Iterable].
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun > CheckerOption.values(
- expected: E,
- vararg otherExpected: E
-): Expect = addAssertion(ExpectImpl.iterable.contains.valuesInAnyOrder(this, expected glue otherExpected))
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where an entry shall be searched which either
- * holds all assertions [assertionCreatorOrNull] creates or needs to be `null` in case [assertionCreatorOrNull]
- * is defined as `null`.
- *
- * Delegates to [entries].
- *
- * @param assertionCreatorOrNull The identification lambda which creates the assertions which the entry we are looking
- * for has to hold; or in other words, the function which defines whether an entry is the one we are looking for
- * or not. In case it is defined as `null`, then an entry is identified if it is `null` as well.
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun > CheckerOption.entry(
- assertionCreatorOrNull: (Expect.() -> Unit)?
-): Expect = entries(assertionCreatorOrNull)
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where an entry shall be searched which either
- * holds all assertions [assertionCreatorOrNull] creates or needs to be `null` in case
- * [assertionCreatorOrNull] is defined as `null` -- likewise an entry (can be the same) is searched for each
- * of the [otherAssertionCreatorsOrNulls].
- *
- * @param assertionCreatorOrNull The identification lambda which creates the assertions which the entry we are looking
- * for has to hold; or in other words, the function which defines whether an entry is the one we are looking for
- * or not. In case it is defined as `null`, then an entry is identified if it is `null` as well.
- * @param otherAssertionCreatorsOrNulls Additional identification lambdas which each identify (separately) an entry
- * which we are looking for (see [assertionCreatorOrNull] for more information).
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun > CheckerOption.entries(
- assertionCreatorOrNull: (Expect.() -> Unit)?,
- vararg otherAssertionCreatorsOrNulls: (Expect.() -> Unit)?
-): Expect = addAssertion(
- ExpectImpl.iterable.contains.entriesInAnyOrder(
- this,
- assertionCreatorOrNull glue otherAssertionCreatorsOrNulls
- )
-)
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where all elements of the [expectedIterable]
- * shall be searched within the [Iterable].
- *
- * Delegates to [values] which also means that it does not search for unique matches
- * (see [values] for more information).
- *
- * @param expectedIterable The [Iterable] whose elements are expected to be contained within this [Iterable].
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case the given [expectedIterable] does not have elements (is empty).
- *
- * @since 0.9.0
- * TODO remove with 1.0.0
- */
-inline fun > CheckerOption.elementsOf(
- expectedIterable: Iterable
-): Expect {
- val (first, rest) = toVarArg(expectedIterable)
- return values(first, *rest)
-}
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where all elements of the [expectedIterableLike]
- * shall be searched within the [Iterable].
- *
- * Delegates to [values] which also means that it does not search for unique matches
- * (see [values] for more information).
- *
- * Notice that a runtime check applies which assures that only [Iterable], [Sequence] or one of the [Array] types
- * are passed. This function expects [IterableLike] (which is a typealias for [Any]) to avoid cluttering the API.
- *
- * @param expectedIterableLike The [IterableLike] whose elements are expected to be contained within this [Iterable].
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expectedIterableLike] is not an [Iterable], [Sequence] or one of the [Array] types
- * or the given [expectedIterableLike] does not have elements (is empty).
- *
- * @since 0.13.0
- */
-inline fun > CheckerOption.elementsOf(
- expectedIterableLike: IterableLike
-): Expect {
- val (first, rest) = toVarArg(expectedIterableLike)
- return values(first, *rest)
-}
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableContainsInAnyOrderOnlyCreators.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableContainsInAnyOrderOnlyCreators.kt
deleted file mode 100644
index ea57dd528..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableContainsInAnyOrderOnlyCreators.kt
+++ /dev/null
@@ -1,163 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION", "DeprecatedCallableAddReplaceWith")
-
-package ch.tutteli.atrium.api.fluent.en_GB
-
-import ch.tutteli.atrium.creating.Expect
-import ch.tutteli.atrium.domain.builders.ExpectImpl
-import ch.tutteli.atrium.domain.builders.creating.basic.contains.addAssertion
-import ch.tutteli.atrium.domain.builders.utils.toVarArg
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains.Builder
-import ch.tutteli.atrium.domain.creating.iterable.contains.searchbehaviours.InAnyOrderOnlySearchBehaviour
-import ch.tutteli.atrium.domain.creating.typeutils.IterableLike
-import ch.tutteli.kbox.glue
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [Iterable] needs to contain only the
- * [expected] value.
- *
- * Delegates to [values].
- *
- * Note that we might change the signature of this function with the next version
- * which will cause a binary backward compatibility break (see
- * [#292](https://github.com/robstoll/atrium/issues/292) for more information)
- *
- * @param expected The value which is expected to be contained within the [Iterable].
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun > Builder.value(expected: E): Expect =
- values(expected)
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [expected]
- * value as well as the [otherExpected] values (if given) need to be
- * contained in [Iterable] where it does not matter in which order but only as
- * many entries should be returned by the [Iterable] as values defined.
- *
- * Note that we might change the signature of this function with the next version
- * which will cause a binary backward compatibility break (see
- * [#292](https://github.com/robstoll/atrium/issues/292) for more information)
- *
- * @param expected The value which is expected to be contained within the [Iterable].
- * @param otherExpected Additional values which are expected to be contained within [Iterable].
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun > Builder.values(
- expected: E,
- vararg otherExpected: E
-): Expect = addAssertion(ExpectImpl.iterable.contains.valuesInAnyOrderOnly(this, expected glue otherExpected))
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [Iterable] needs to contain only one
- * entry which holds all assertions created by the given [assertionCreatorOrNull] or is `null` in case
- * [assertionCreatorOrNull] is defined as `null`.
- *
- * Delegates to [entries].
- *
- * Note that we might change the signature of this function with the next version
- * which will cause a binary backward compatibility break (see
- * [#292](https://github.com/robstoll/atrium/issues/292) for more information)
- *
- * @param assertionCreatorOrNull The identification lambda which creates the assertions which the entry we are looking
- * for has to hold; or in other words, the function which defines whether an entry is the one we are looking for
- * or not. In case it is defined as `null`, then an entry is identified if it is `null` as well.
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun > Builder.entry(
- assertionCreatorOrNull: (Expect.() -> Unit)?
-): Expect = entries(assertionCreatorOrNull)
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where an entry needs to be contained in the
- * [Iterable] which holds all assertions [assertionCreatorOrNull] creates or needs to be `null` in case
- * [assertionCreatorOrNull] is defined as `null` -- likewise an entry for each
- * [otherAssertionCreatorsOrNulls] needs to be contained in the [Iterable] where it does not matter in which order the
- * entries appear but only as many entries should be returned by the [Iterable] as assertion creators are defined.
- *
- * Notice, that a first-wins strategy applies which means your assertion creator lambdas -- which kind of serve as
- * identification lambdas -- should be ordered in such a way that the most specific identification lambda appears
- * first, not that a less specific lambda wins. For instance, given a `setOf(1, 2)` you should not search for
- * `entries({ isGreaterThan(0) }, { toBe(1) })` but for
- * `entries({ toBe(1) }, { isGreaterThan(0) })` otherwise
- * `isGreaterThan(0)` matches `1` before `toBe(1)` would match it. As a consequence `toBe(1)` could only match the
- * entry which is left -- in this case `2` -- and of course this would fail.
- *
- * Note that we might change the signature of this function with the next version
- * which will cause a binary backward compatibility break (see
- * [#292](https://github.com/robstoll/atrium/issues/292) for more information)
- *
- * @param assertionCreatorOrNull The identification lambda which creates the assertions which the entry we are looking
- * for has to hold; or in other words, the function which defines whether an entry is the one we are looking for
- * or not. In case it is defined as `null`, then an entry is identified if it is `null` as well.
- * @param otherAssertionCreatorsOrNulls Additional identification lambdas which each identify (separately) an entry
- * which we are looking for (see [assertionCreatorOrNull] for more information).
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun > Builder.entries(
- assertionCreatorOrNull: (Expect.() -> Unit)?,
- vararg otherAssertionCreatorsOrNulls: (Expect.() -> Unit)?
-): Expect = addAssertion(
- ExpectImpl.iterable.contains.entriesInAnyOrderOnly(
- this,
- assertionCreatorOrNull glue otherAssertionCreatorsOrNulls
- )
-)
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where all elements in
- * [expectedIterable] need to be contained in [Iterable] where it does not matter in which order but only as
- * many entries should be returned by the [Iterable] as values defined.
- *
- * Delegates to [values].
- *
- * Note that we might change the signature of this function with the next version
- * which will cause a binary backward compatibility break (see
- * [#292](https://github.com/robstoll/atrium/issues/292) for more information)
- *
- * @param expectedIterable The [Iterable] whose elements are expected to be contained within this [Iterable]
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case the given [expectedIterable] does not have elements (is empty).
- *
- * @since 0.9.0
- * TODO remove with 1.0.0
- */
-inline fun > Builder.elementsOf(
- expectedIterable: Iterable
-): Expect {
- val (first, rest) = toVarArg(expectedIterable)
- return values(first, *rest)
-}
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where all elements in
- * [expectedIterableLike] need to be contained in [Iterable] where it does not matter in which order but only as
- * many entries should be returned by the [Iterable] as values defined.
- *
- * Delegates to [values].
- *
- * Notice that a runtime check applies which assures that only [Iterable], [Sequence] or one of the [Array] types
- * are passed. This function expects [IterableLike] (which is a typealias for [Any]) to avoid cluttering the API.
- *
- * Note that we might change the signature of this function with the next version
- * which will cause a binary backward compatibility break (see
- * [#292](https://github.com/robstoll/atrium/issues/292) for more information)
- *
- * @param expectedIterableLike The [IterableLike] whose elements are expected to be contained within this [Iterable]
- *
- * @return An [Expect] for the current subject of the assertion.
- * @throws IllegalArgumentException in case [expectedIterableLike] is not an [Iterable], [Sequence] or one of the [Array] types
- * or the given [expectedIterableLike] does not have elements (is empty).
- *
- * @since 0.13.0
- */
-inline fun > Builder.elementsOf(
- expectedIterableLike: IterableLike
-): Expect {
- val (first, rest) = toVarArg(expectedIterableLike)
- return values(first, *rest)
-}
diff --git a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableContainsInOrderOnlyCreators.kt b/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableContainsInOrderOnlyCreators.kt
deleted file mode 100644
index 242004454..000000000
--- a/apis/fluent-en_GB/atrium-api-fluent-en_GB-common/src/main/kotlin/ch/tutteli/atrium/api/fluent/en_GB/iterableContainsInOrderOnlyCreators.kt
+++ /dev/null
@@ -1,153 +0,0 @@
-//TODO remove file with 1.0.0
-@file:Suppress("DEPRECATION", "DeprecatedCallableAddReplaceWith")
-
-package ch.tutteli.atrium.api.fluent.en_GB
-
-import ch.tutteli.atrium.creating.Expect
-import ch.tutteli.atrium.domain.builders.ExpectImpl
-import ch.tutteli.atrium.domain.builders.creating.basic.contains.addAssertion
-import ch.tutteli.atrium.domain.builders.utils.toVarArg
-import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains.Builder
-import ch.tutteli.atrium.domain.creating.iterable.contains.searchbehaviours.InOrderOnlySearchBehaviour
-import ch.tutteli.atrium.domain.creating.typeutils.IterableLike
-import ch.tutteli.kbox.glue
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [Iterable] needs to contain only the
- * [expected] value.
- *
- * Delegates to [values].
- *
- * Note that we might change the signature of this function with the next version
- * which will cause a binary backward compatibility break (see
- * [#292](https://github.com/robstoll/atrium/issues/292) for more information)
- *
- * @param expected The value which is expected to be contained within the [Iterable].
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun > Builder.value(expected: E): Expect =
- values(expected)
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [Iterable] needs to contain only the
- * [expected] value as well as the [otherExpected] values
- * (if given) in the specified order.
- *
- * Note that we might change the signature of this function with the next version
- * which will cause a binary backward compatibility break (see
- * [#292](https://github.com/robstoll/atrium/issues/292) for more information)
- *
- * @param expected The value which is expected to be contained within the [Iterable].
- * @param otherExpected Additional values which are expected to be contained within [Iterable].
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun > Builder.values(
- expected: E,
- vararg otherExpected: E
-): Expect = addAssertion(ExpectImpl.iterable.contains.valuesInOrderOnly(this, expected glue otherExpected))
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [Iterable] needs to contain only a
- * single entry which holds all assertions created by the given [assertionCreatorOrNull] or needs to be `null`
- * in case [assertionCreatorOrNull] is defined as `null`.
- *
- * Delegates to `entries(assertionCreatorOrNull)`.
- *
- * Note that we might change the signature of this function with the next version
- * which will cause a binary backward compatibility break (see
- * [#292](https://github.com/robstoll/atrium/issues/292) for more information)
- *
- * @param assertionCreatorOrNull The identification lambda which creates the assertions which the entry we are looking
- * for has to hold; or in other words, the function which defines whether an entry is the one we are looking for
- * or not. In case it is defined as `null`, then an entry is identified if it is `null` as well.
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun > Builder.entry(
- assertionCreatorOrNull: (Expect.() -> Unit)?
-): Expect = entries(assertionCreatorOrNull)
-
-/**
- * Finishes the specification of the sophisticated `contains` assertion where the [Iterable] needs to contain only an
- * entry which holds all assertions [assertionCreatorOrNull] creates or is `null` in case [assertionCreatorOrNull]
- * is defined as `null` and likewise a further entry for each
- * [otherAssertionCreatorsOrNulls] (if given) whereas the entries have to appear in the specified order.
- *
- * Note that we might change the signature of this function with the next version
- * which will cause a binary backward compatibility break (see
- * [#292](https://github.com/robstoll/atrium/issues/292) for more information)
- *
- * @param assertionCreatorOrNull The identification lambda which creates the assertions which the entry we are looking
- * for has to hold; or in other words, the function which defines whether an entry is the one we are looking for
- * or not. In case it is defined as `null`, then an entry is identified if it is `null` as well.
- * @param otherAssertionCreatorsOrNulls Additional identification lambdas which each identify (separately) an entry
- * which we are looking for (see [assertionCreatorOrNull] for more information).
- *
- * @return An [Expect] for the current subject of the assertion.
- */
-fun > Builder.entries(
- assertionCreatorOrNull: (Expect