AssertJ: Das Abrufen der ersten Elemente aus der Extrahierungsliste gibt stattdessen eine Liste zurückJava

Java-Forum
Anonymous
 AssertJ: Das Abrufen der ersten Elemente aus der Extrahierungsliste gibt stattdessen eine Liste zurück

Post by Anonymous »

Ich versuche, das erste Element in einer extrahierten Liste zu überprüfen. AssertJ gibt jedoch eine Liste anstelle des erwarteten Objekts von .first() zurück.

Angesichts des folgenden Beispiels

Code: Select all

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;
}
}
}
Ich erwarte, dass .first() String zurückgibt, aber stattdessen wurde List zurückgegeben. Der folgende Fehler ist aufgetreten:

java.lang.AssertionError:
  • Es wird erwartet:

    eine Instanz von:

    war aber eine Instanz von:

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post