package test.kotlin.jtests; import junit.framework.TestCase; import kotlin.*; import kotlin.jvm.functions.Function1; import java.util.Collection; import java.util.List; import static kotlin.collections.CollectionsKt.*; import static kotlin.collections.ArraysKt.*; /** * Lets try using the Kotlin standard library from Java code */ public class ArraysTest extends TestCase { public void testArrays() throws Exception { String[] array = {"foo", "bar", "x"}; String text = joinToString(array, ",", "(", ")", -1, "...", null); System.out.println("Have text: " + text); assertEquals("(foo,bar,x)", text); Collection<String> actual = filter(array, new Function1<String, Boolean>() { @Override public Boolean invoke(String text) { return text.length() > 1; } }); int[] actualArray = toIntArray(map(actual, new Function1<String, Integer>() { @Override public Integer invoke(String s) { return s.length(); } })); System.out.println("Filtered list from array is " + actual); assertEquals("(3,3)", joinToString(actualArray, ",", "(", ")", -1, "...", null)); int single = single(distinct(actualArray)); assertEquals(3, single); } }