From cf56c3c53ec1e781fafccb4f2084476b9260cda5 Mon Sep 17 00:00:00 2001 From: Gerrit Meier Date: Thu, 23 Jan 2025 13:27:19 +0100 Subject: [PATCH] Fix test case that assumed strict ordering. Signed-off-by: Gerrit Meier --- .../data/neo4j/integration/issues/IssuesIT.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/test/java/org/springframework/data/neo4j/integration/issues/IssuesIT.java b/src/test/java/org/springframework/data/neo4j/integration/issues/IssuesIT.java index 3662c9564..5dd9aebbc 100644 --- a/src/test/java/org/springframework/data/neo4j/integration/issues/IssuesIT.java +++ b/src/test/java/org/springframework/data/neo4j/integration/issues/IssuesIT.java @@ -1707,7 +1707,7 @@ class IssuesIT extends TestBase { @Tag("GH-2973") @Test - void testTypeMapping(@Autowired Gh2973Repository gh2973Repository) { + void abstractedRelationshipTypesShouldBeMappedCorrectly(@Autowired Gh2973Repository gh2973Repository) { var node = new BaseNode(); var nodeFail = new BaseNode(); RelationshipA a1 = new RelationshipA(); @@ -1756,15 +1756,19 @@ class IssuesIT extends TestBase { var loadedNode = gh2973Repository.findById(persistedNode.getId()).get(); List relationshipsA = loadedNode.getRelationships().get("a"); List relationshipsB = loadedNode.getRelationships().get("b"); - assertThat(relationshipsA).hasExactlyElementsOfTypes(RelationshipA.class, RelationshipA.class, RelationshipB.class); - assertThat(relationshipsB).hasExactlyElementsOfTypes(RelationshipB.class, RelationshipA.class); - + assertThat(relationshipsA).satisfiesExactlyInAnyOrder( + r1 -> assertThat(r1).isOfAnyClassIn(RelationshipA.class), + r2 -> assertThat(r2).isOfAnyClassIn(RelationshipA.class), + r3 -> assertThat(r3).isOfAnyClassIn(RelationshipB.class) + ); + assertThat(relationshipsB).satisfiesExactlyInAnyOrder( + r1 -> assertThat(r1).isOfAnyClassIn(RelationshipA.class), + r2 -> assertThat(r2).isOfAnyClassIn(RelationshipB.class) + ); // without type info, the relationships are all same type and not the base class BaseRelationship var loadedNodeFail = gh2973Repository.findById(persistedNodeFail.getId()).get(); List relationshipsCFail = loadedNodeFail.getRelationships().get("c"); assertThat(relationshipsCFail.get(0)).isNotExactlyInstanceOf(BaseRelationship.class); - var type = relationshipsCFail.get(0).getClass(); - assertThat(relationshipsCFail).hasExactlyElementsOfTypes(type, type); } @Configuration