Skip to content

Commit aaf16f5

Browse files
authored
Merge pull request #2114 from TomerPacific/feature/migrate-iterable-to-contain-in-any-order-at-least-one-values-expectations-to-kotlin-test
Feature/migrate iterable to contain in any order at least one values expectations to kotlin test
2 parents 099f9c6 + db7c4ab commit aaf16f5

10 files changed

+347
-518
lines changed

apis/fluent/atrium-api-fluent/src/commonTest/kotlin/ch/tutteli/atrium/api/fluent/en_GB/IterableToContainInAnyOrderAtLeast1ElementsOfExpectationsSpec.kt

Lines changed: 0 additions & 91 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package ch.tutteli.atrium.api.fluent.en_GB
2+
3+
import ch.tutteli.atrium.api.verbs.internal.expect
4+
import ch.tutteli.atrium.creating.Expect
5+
import ch.tutteli.atrium.specs.integration.AbstractIterableToContainInAnyOrderAtLeast1ValuesExpectationsTest
6+
import ch.tutteli.atrium.specs.withNullableSuffix
7+
import kotlin.test.Test
8+
9+
class IterableToContainInAnyOrderAtLeast1ValuesExpectationsBuilderTest :
10+
AbstractIterableToContainInAnyOrderAtLeast1ValuesExpectationsTest(
11+
functionDescription to Companion::toContainValues,
12+
(functionDescription to Companion::toContainNullableValues).withNullableSuffix(),
13+
) {
14+
companion object : IterableToContainSpecBase() {
15+
val functionDescription = "$toContain.$inAnyOrder.$atLeast(1).$value/$values"
16+
17+
private fun toContainValues(
18+
expect: Expect<Iterable<Double>>,
19+
a: Double,
20+
aX: Array<out Double>
21+
): Expect<Iterable<Double>> =
22+
if (aX.isEmpty()) expect.toContain.inAnyOrder.atLeast(1).value(a)
23+
else expect.toContain.inAnyOrder.atLeast(1).values(a, *aX)
24+
25+
private fun toContainNullableValues(
26+
expect: Expect<Iterable<Double?>>,
27+
a: Double?,
28+
aX: Array<out Double?>
29+
): Expect<Iterable<Double?>> =
30+
if (aX.isEmpty()) expect.toContain.inAnyOrder.atLeast(1).value(a)
31+
else expect.toContain.inAnyOrder.atLeast(1).values(a, *aX)
32+
}
33+
34+
@Suppress("AssignedValueIsNeverRead", "unused", "UNUSED_VALUE")
35+
@Test
36+
fun ambiguityTest() {
37+
var list: Expect<List<Number>> = expect(listOf(1, 1.2))
38+
var nSet: Expect<Set<Number?>> = expect(setOf(1, null, 1.2))
39+
var subList: Expect<ArrayList<Number>> = expect(arrayListOf(1, 1.2, 2.2))
40+
var star: Expect<Collection<*>> = expect(listOf(1, null, 1.2, "asdf"))
41+
42+
list = list.toContain.inAnyOrder.atLeast(1).value(1)
43+
nSet = nSet.toContain.inAnyOrder.atLeast(1).value(1)
44+
subList = subList.toContain.inAnyOrder.atLeast(1).value(1)
45+
star = star.toContain.inAnyOrder.atLeast(1).value(1)
46+
47+
list = list.toContain.inAnyOrder.atLeast(1).values(1, 1.2)
48+
nSet = nSet.toContain.inAnyOrder.atLeast(1).values(1, 1.2)
49+
subList = subList.toContain.inAnyOrder.atLeast(1).values(1, 2.2)
50+
star = star.toContain.inAnyOrder.atLeast(1).values(1, 1.2, "asdf")
51+
}
52+
53+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package ch.tutteli.atrium.api.fluent.en_GB
2+
3+
import ch.tutteli.atrium.api.verbs.internal.expect
4+
import ch.tutteli.atrium.creating.Expect
5+
import ch.tutteli.atrium.specs.fun2
6+
import ch.tutteli.atrium.specs.integration.AbstractIterableToContainInAnyOrderAtLeast1ValuesExpectationsTest
7+
import kotlin.test.Test
8+
9+
class IterableToContainInAnyOrderAtLeast1ValuesExpectationsShortcutTest :
10+
AbstractIterableToContainInAnyOrderAtLeast1ValuesExpectationsTest(
11+
fun2<Iterable<Double>, Double, Array<out Double>>(Expect<Iterable<Double>>::toContain),
12+
fun2<Iterable<Double?>, Double?, Array<out Double?>>(Expect<Iterable<Double?>>::toContain)
13+
) {
14+
15+
@Suppress("AssignedValueIsNeverRead", "unused", "UNUSED_VALUE")
16+
@Test
17+
fun ambiguityTest() {
18+
var list: Expect<List<Number>> = expect(listOf(1, 1.2))
19+
var nSet: Expect<Set<Number?>> = expect(setOf(1, null, 1.2))
20+
var subList: Expect<ArrayList<Number>> = expect(arrayListOf(1, 1.2, 2.2))
21+
var star: Expect<Collection<*>> = expect(listOf(1, null, 1.2, "asdf"))
22+
23+
list = list.toContain { toEqual(1) }
24+
nSet = nSet.toContain { toEqual(1) }
25+
subList = subList.toContain { toEqual(1) }
26+
star = star.toContain { toEqual(1) }
27+
28+
list = list.toContain(1, 1.2)
29+
nSet = nSet.toContain(1, 1.2)
30+
subList = subList.toContain(1, 2.2)
31+
star = star.toContain(1, 1.2, "asdf")
32+
}
33+
}

apis/fluent/atrium-api-fluent/src/commonTest/kotlin/ch/tutteli/atrium/api/fluent/en_GB/IterableToContainInAnyOrderAtLeast1ValuesExpectationsSpec.kt

Lines changed: 0 additions & 75 deletions
This file was deleted.

apis/infix/atrium-api-infix/src/commonTest/kotlin/ch/tutteli/atrium/api/infix/en_GB/IterableToContainInAnyOrderAtLeast1ElementsOfExpectationsSpec.kt

Lines changed: 0 additions & 104 deletions
This file was deleted.

0 commit comments

Comments
 (0)