2016-08-10 1 views
1

Я столкнулся с этой проблемой при изучении использования класса Condition в AssertJ 3.5.2 на Java 8. Я могу создать экземпляр условия для типично типизированного списка, но я получаю ошибку сообщения в Eclipse, когда я пытаюсь использовать:Проблема с генериками с AssertJ Условие для типизированного списка

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

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

сообщение об ошибке я получаю:

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>>) 

есть ли решение для того или иного подхода в AssertJ сделать целостную проверку списка (а не только по элементам, а проверка на основе последовательности или агрегации)?

ответ

2

Я считаю, что объявляя свое состояние, как это должно решить ошибку компиляции:

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