- assertThat(cause1, instanceOf(InferenceException.class));
- assertThat(cause1.getMessage(), startsWith("Unable to resolve identity (cyclic.identity.test)child-identity-1 "
- + "and base identity (cyclic.identity.test)child-identity-2 [at "));
+ if (cause1 != null) {
+ causes.add(cause1);
+ }
+ causes.addAll(Arrays.asList(cause.getSuppressed()));
+ causes.sort(Comparator.comparing(Throwable::getMessage));
+ assertEquals(4, causes.size());
+ causes.forEach(throwable -> assertThat(throwable, instanceOf(InferenceException.class)));
+
+ assertThat(causes.get(0).getMessage(),
+ startsWith("Unable to resolve identity (cyclic.identity.test)child-identity-1 and base identity "
+ + "(cyclic.identity.test)child-identity-2 [at "));
+ assertThat(causes.get(1).getMessage(),
+ startsWith("Unable to resolve identity (cyclic.identity.test)child-identity-2 and base identity "
+ + "(cyclic.identity.test)child-identity-3 [at "));
+ assertThat(causes.get(2).getMessage(),
+ startsWith("Unable to resolve identity (cyclic.identity.test)child-identity-3 and base identity "
+ + "(cyclic.identity.test)child-identity-4 [at "));
+ assertThat(causes.get(3).getMessage(),
+ startsWith("Unable to resolve identity (cyclic.identity.test)child-identity-4 and base identity "
+ + "(cyclic.identity.test)child-identity-1 [at "));