Мой настраиваемый объект выглядит следующим образом:
@Accessors(chain = true)
@Getter
@Setter
@AllArgsConstructor
@ToString
public class SocialLink {
private String platform;
private String link;
}
Мой тестовый код выглядит так:
SocialLink[] arr1 = new SocialLink[] {
new SocialLink("Facebook", "Facebook Link"),
new SocialLink("Google", "Google Link")
};
SocialLink[] arr2 = new SocialLink[] {
new SocialLink("Google", "Google Link"),
new SocialLink("Facebook", "Facebook Link")
};
assertThat(arr1).containsOnly(arr2);
Журнал сбоев:
java.lang.AssertionError:
Expecting:
<[SocialLink(platform=Facebook, link=Facebook Link),
SocialLink(platform=Google, link=Google Link)]>
to contain only:
<[SocialLink(platform=Google, link=Google Link),
SocialLink(platform=Facebook, link=Facebook Link)]>
elements not found:
<[SocialLink(platform=Google, link=Google Link),
SocialLink(platform=Facebook, link=Facebook Link)]>
and elements not expected:
<[SocialLink(platform=Facebook, link=Facebook Link),
SocialLink(platform=Google, link=Google Link)]>
containsOnly () метод отлично работает с массивом строк, но почему он не работает с пользовательским массивом объектов?