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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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