toContainExactly
Expects that the subject of this
expectation (an Iterable) contains only the expected value and the otherExpected values (if given) in the defined order.
It is a shortcut for toContain.inOrder.only.values(expected, *otherExpected, report = { ... })
Return
an Expect for the subject of this
expectation.
Since
0.17.0
Parameters
The first expected value.
The other expected values in the given order.
The lambda configuring the InOrderOnlyReportingOptions -- it is optional where the default InOrderOnlyReportingOptions apply if not specified.
Samples
expect(listOf(1, 2, 2, 4)).toContainExactly(1, 2, 2, 4)
fails {
expect(listOf("A", "B")).toContainExactly("A", "B", "C")
}
fails {
expect(listOf("A", "B")).toContainExactly("B", "A")
}
fails {
expect(listOf("A", "B")).toContainExactly(
"C",
"B",
// optional
report = { // allows configuring reporting, e.g.
showOnlyFailing() // would not show the successful `B`
showOnlyFailingIfMoreExpectedElementsThan(10)
}
)
}
Expects that the subject of this
expectation (an Iterable) contains only an entry holding the assertions created by assertionCreatorOrNull or only one entry which is null
in case assertionCreatorOrNull is defined as null
.
It is a shortcut for toContain.inOrder.only.entry(assertionCreatorOrNull)
Return
an Expect for the subject of this
expectation.
Since
0.17.0
Parameters
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.
Samples
expect(listOf(4)).toContainExactly {
toBeLessThan(5)
toBeGreaterThan(3)
}
expect(listOf(null)).toContainExactly(null)
fails {
expect(listOf("A", "B")).toContainExactly {
toEqual("A")
}
}
fails {
expect(listOf(null, "B")).toContainExactly(null)
}
Expects that the subject of this
expectation (an Iterable) contains only an entry holding the assertions created by assertionCreatorOrNull or null
in case assertionCreatorOrNull is defined as null
and likewise an additional entry for each otherAssertionCreatorsOrNulls (if given) whereas the entries have to appear in the defined order.
It is a shortcut for toContain.inOrder.only.entries(assertionCreatorOrNull, *otherAssertionCreatorsOrNulls)
Return
an Expect for the subject of this
expectation.
Since
0.17.0
Parameters
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.
Additional identification lambdas which each identify (separately) an entry which we are looking for (see assertionCreatorOrNull for more information).
The lambda configuring the InOrderOnlyReportingOptions -- it is optional where the default InOrderOnlyReportingOptions apply if not specified.
Samples
expect(listOf(3, 5, null)).toContainExactly(
{ toEqual(3) },
{ toBeLessThan(11) },
null
)
fails {
expect(listOf(3, 5, 7)).toContainExactly(
{ toBeGreaterThan(2) },
{ toBeLessThan(11) }
)
}
fails {
expect(listOf(3, 5)).toContainExactly(
{ toEqual(1) }, // fails
{ toBeLessThan(11) }, // succeeds
// optional
report = { // allows configuring reporting, e.g.
showOnlyFailing() // would not show the successful `toBeLessThan(11)`
showOnlyFailingIfMoreExpectedElementsThan(10)
}
)
}