diff --git a/libraries/examples/kotlin-java-example/src/test/java/test/kotlin/jtests/ArraysTest.java b/libraries/examples/kotlin-java-example/src/test/java/test/kotlin/jtests/ArraysTest.java new file mode 100644 index 00000000000..72934ab1757 --- /dev/null +++ b/libraries/examples/kotlin-java-example/src/test/java/test/kotlin/jtests/ArraysTest.java @@ -0,0 +1,46 @@ +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.CollectionsKt.*; +import static kotlin.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 actual = filter(array, new Function1() { + @Override + public Boolean invoke(String text) { + return text.length() > 1; + } + }); + + int[] actualArray = toIntArray(map(actual, new Function1() { + @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); + } +} diff --git a/libraries/examples/kotlin-java-example/src/test/java/test/kotlin/jtests/CollectionTest.java b/libraries/examples/kotlin-java-example/src/test/java/test/kotlin/jtests/CollectionTest.java index f907594932f..184398e1d1b 100644 --- a/libraries/examples/kotlin-java-example/src/test/java/test/kotlin/jtests/CollectionTest.java +++ b/libraries/examples/kotlin-java-example/src/test/java/test/kotlin/jtests/CollectionTest.java @@ -6,7 +6,7 @@ import kotlin.jvm.functions.Function1; import java.util.Collection; import java.util.List; -import static kotlin.KotlinPackage.*; +import static kotlin.CollectionsKt.*; /** * Lets try using the Kotlin standard library from Java code diff --git a/libraries/examples/kotlin-java-example/src/test/java/test/kotlin/jtests/QualifiedNamesTest.java b/libraries/examples/kotlin-java-example/src/test/java/test/kotlin/jtests/QualifiedNamesTest.java new file mode 100644 index 00000000000..6b0660253aa --- /dev/null +++ b/libraries/examples/kotlin-java-example/src/test/java/test/kotlin/jtests/QualifiedNamesTest.java @@ -0,0 +1,30 @@ +package test.kotlin.jtests; + +import junit.framework.TestCase; +import java.util.*; +import kotlin.*; +import kotlin.jvm.functions.Function0; + +public class QualifiedNamesTest extends TestCase { + + public void testQualified() throws Exception { + List items = CollectionsKt.plus(CollectionsKt.plus(Collections.emptyList(), "item"), 1); + Set set = SetsKt.setOf("a", "b", "c"); + + assertTrue(Collections.disjoint(items, set)); + } + + public void testLazy() throws Exception { + Lazy randomLazy = LazyKt.lazy(new Function0() { + @Override + public Random invoke() { + return new Random(); + } + }); + assertFalse(randomLazy.isInitialized()); + + Lazy initializedLazy = LazyKt.lazyOf(randomLazy.getValue()); + assertTrue(initializedLazy.isInitialized()); + assertTrue(randomLazy.isInitialized()); + } +}