В чистом Spock / Groovy мне нужно два отдельных утверждения, чтобы убедиться, что список содержит какой-то элемент и ничего больше:
def "list has single element"() {
given:
def list = ['x']
expect:
list.size() == 1
list.first() == 'x'
}
Я могу сделать это утверждение однострочным, используя зависимость Guava:
expect:
Iterables.getOnlyElement(list) == 'x'
Есть ли способ сделать то же самое в одной строке в чистом Groovy / Spock?Я не хочу слишком часто использовать Гуаву в своих тестах.
РЕДАКТИРОВАТЬ
На самом деле для такого простого примера достаточно просто list == ['x']
.Я ищу негуавское решение для чего-то более сложного, когда необходимо выполнить несколько утверждений для этого единственного элемента:
def "list has single element"() {
given:
def list = [5.0]
expect:
def bigDecimal = Iterables.getOnlyElement(list)
bigDecimal.scale() == 1
bigDecimal.precision() == 2
}