AssertJ: извлечение первых элементов из списка извлечения возвращает список вместо этогоJAVA

Программисты JAVA общаются здесь
Anonymous
AssertJ: извлечение первых элементов из списка извлечения возвращает список вместо этого

Сообщение Anonymous »

Я пытаюсь проверить первый элемент в извлеченном списке. Однако AssertJ возвращает список вместо ожидаемого объекта из .first().

В следующем примере

Код: Выделить всё

public class AssertJTests
{
@Test
@DisplayName("Region Asia should only have one Country, Malaysia")
public void assertRegion()
{
Region asia = new Region()
.setName("Asia")
.setCountries(Lists.newArrayList("Malaysia"));

Consumer regionRequirement = region ->
assertThat(region)
.extracting(Region::getName)
.containsOnly("Asia");

Consumer countryRequirement = country ->
assertThat(country)
.isEqualToIgnoringCase("Malaysia");

assertThat(asia)
.isInstanceOfSatisfying(Region.class, regionRequirement)
.extracting(Region::getCountries)
.hasSize(1)
.first()
.isInstanceOfSatisfying(String.class, countryRequirement);
}

protected static class Region
{
private String name;

private List countries;

List getCountries()
{
return countries;
}

Region setCountries(final List pCountries)
{
countries = pCountries;
return this;
}

String getName()
{
return name;
}

Region setName(final String pName)
{
name = pName;
return this;
}
}
}
Я ожидал, что .first() вернет String, но вместо этого он вернул List. Появилась следующая ошибка:

java.lang.AssertionError: [Список проверки первого элемента]
Ожидается:

будет экземпляром:

но был экземпляром:



Подробнее здесь: https://stackoverflow.com/questions/504 ... st-instead

Вернуться в «JAVA»