Соответствие не пустому списку в качестве аргумента с использованием Mockito

В отношении того, как это реализовано, это изменяет метод - от OrderBy / ThenBy до OrderByDescending / ThenByDescending. Однако вы можете применить сортировку отдельно к основному запросу ...

var qry = from .... // or just dataList.AsEnumerable()/AsQueryable()

if(sortAscending) {
    qry = qry.OrderBy(x=>x.Property);
} else {
    qry = qry.OrderByDescending(x=>x.Property);
}

Любое использование? Вы можете создать весь «порядок» динамически, но он более задействован ...

Другой трюк (в основном соответствующий LINQ-to-Objects) заключается в использовании множителя -1/1. Это действительно полезно для числовых данных, но это навязчивый способ добиться того же результата.

0
задан Tom 21 January 2019 в 09:56
поделиться

2 ответа

Вы можете сделать это с Mockito Answer без использования Harmcrest:

 when(mock.someMethod(anyListOf(String.class)))
.then(invocation -> { 
                      List<String> list = invocation.getArgument(0);
                      return list.size() > 0 ? 42 : null;
                    }
 );

Здесь я указываю null в качестве значения по умолчанию, которое является возвратом по умолчанию для метода, вызываемого в Mock (без признания хорошим ценности конечно).

0
ответ дан davidxxx 21 January 2019 в 09:56
поделиться

Согласно дубликату, который я прокомментировал, вы должны попробовать:

class IsAtLeastOneElementList extends ArgumentMatcher<List<String>> {
    public boolean matches(Object list) {
        return ((List) list).size() > 0;
    }
}
0
ответ дан riccardo.cardin 21 January 2019 в 09:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: