-
-
Notifications
You must be signed in to change notification settings - Fork 765
Closed
Closed
Copy link
Description
The error message of assertThat(collection).doesNotHaveDuplicates() lists the duplicates in a different order than the elements of the collection actually have. That is not an error per-se, but can make it harder to find the root cause of the failing assertion. So this might also be labeled improvement instead of bug.
- assertj core version: 3.25.1
Test case reproducing the bug
@Test
void sortOrder() throws Exception {
var list = List.of("org.objectweb.asm.source",
"org.eclipse.emf.compare.diagram.gmf.source.feature.group",
"org.eclipse.emf.compare.rcp.ui.source.feature.group",
"org.objectweb.asm",
"org.eclipse.jgit.feature.group",
"org.eclipse.emf.compare.diagram.gmf.source.feature.group",
"org.objectweb.asm",
"org.apache.httpcomponents.httpclient",
"org.eclipse.emf.compare.rcp.ui.source.feature.group",
"org.eclipse.jgit.feature.group",
"org.eclipse.emf.compare.ide.ui.source.feature.group");
assertThat(list.stream().sorted()).doesNotHaveDuplicates();
}Note that the list gets sorted in the assertion. Still the output is not sorted, because the duplicates are collected in a set which is not insertion order stable.
Found duplicate(s):
["org.eclipse.emf.compare.diagram.gmf.source.feature.group",
"org.eclipse.emf.compare.rcp.ui.source.feature.group",
"org.objectweb.asm",
"org.eclipse.jgit.feature.group"]
in:
["org.apache.httpcomponents.httpclient",
"org.eclipse.emf.compare.diagram.gmf.source.feature.group",
"org.eclipse.emf.compare.diagram.gmf.source.feature.group",
"org.eclipse.emf.compare.ide.ui.source.feature.group",
"org.eclipse.emf.compare.rcp.ui.source.feature.group",
"org.eclipse.emf.compare.rcp.ui.source.feature.group",
"org.eclipse.jgit.feature.group",
"org.eclipse.jgit.feature.group",
"org.objectweb.asm",
"org.objectweb.asm",
"org.objectweb.asm.source"]
Metadata
Metadata
Assignees
Labels
No labels