2016-08-10 10 views
1

Ich stieß auf dieses Problem beim Erkunden der Verwendung der Klasse Condition in AssertJ 3.5.2 auf Java 8. Ich kann eine Condition-Instanz für eine generisch typisierte Liste erstellen, aber ich bekomme einen Fehler Nachrichten in Eclipse, wenn ich versuche, es zu benutzen:Generics Problem mit AssertJ Bedingung für eine typisierte Liste

Condition<List<MyBean>> listCond = 
     new Condition<>(list -> true, "test"); // OK 

this.assertThat(myList).has(listCond); // DOES NOT COMPILE 

Die Fehlermeldung ich erhalte, ist:

The method has(Condition<? super List<? extends MyBean>>) in the type 
AbstractListAssert<capture#8-of ?,List<? extends MyBean>,MyBean,ObjectAssert<MyBean>> is not 
applicable for the arguments (Condition<List<MyBean>>) 

gibt es für diesen oder einen anderen Ansatz in AssertJ eine ganzheitliche Überprüfung einer Liste eine Lösung zu tun (nicht nur Stück für Stück, sondern eine Prüfung basierend auf Sequenz oder Aggregation)?

Antwort

2

Ich glaube, dass Ihr Zustand wie diese erklären sollte die Compiler-Fehler beheben:

Condition<? super List<? extends MyBean>> listCond = new Condition<>(list -> true, "test"); 
Verwandte Themen