ScalaTest и java.util.Iterable

Есть ли способ неявно преобразовать java.util.Iterable<T> во что-то, что будет проверять тип в сопоставителе, таком как foo.items should have size(10) ? Я попытался импортировать scala.collection.JavaConversions, но все равно получил ошибку компилятора. В настоящее время я явно конвертирую его с помощью scala.collection.JavaConverters.asScala. Версия Scala 2.9.


person synapse    schedule 26.04.2013    source источник


Ответы (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