В отношении того, как это реализовано, это изменяет метод - от 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. Это действительно полезно для числовых данных, но это навязчивый способ добиться того же результата.
Вы можете сделать это с 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 (без признания хорошим ценности конечно).
Согласно дубликату, который я прокомментировал, вы должны попробовать:
class IsAtLeastOneElementList extends ArgumentMatcher<List<String>> {
public boolean matches(Object list) {
return ((List) list).size() > 0;
}
}