Есть ли способ неявно преобразовать java.util.Iterable<T>
во что-то, что будет проверять тип в сопоставителе, таком как foo.items should have size(10)
? Я попытался импортировать scala.collection.JavaConversions
, но все равно получил ошибку компилятора. В настоящее время я явно конвертирую его с помощью scala.collection.JavaConverters.asScala
. Версия Scala 2.9.
ScalaTest и java.util.Iterable
Ответы (1)
Java Iterable
не поддерживается из коробки. Все, что расширяет хотя бы java.util.Collection
(т.е. java.util.List
), должно работать. В трейте ShouldWrappers
определено неявное преобразование:
implicit def convertToJavaCollectionShouldWrapper[T](o: Collection[T]):
JavaCollectionShouldWrapper[T]
Чтобы узнать, какие типы поддерживаются ShouldWrappers
по умолчанию, посмотрите ссылку соответствующая страница ScalaDocs.
Вы, конечно, можете реализовать свои собственные.
person
Martin Ring
schedule
26.04.2013