From b84b7117a680b8960d18f04c602716108e3b1e81 Mon Sep 17 00:00:00 2001 From: Kacper Koza Date: Tue, 2 Apr 2019 20:04:44 +0200 Subject: [PATCH 1/3] extension function in java --- .../kotlin/com/baeldung/kotlin/ListUtil.kt | 9 ++++++++ .../com/baeldung/kotlin/ListUtilTest.java | 22 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 core-kotlin/src/main/kotlin/com/baeldung/kotlin/ListUtil.kt create mode 100644 core-kotlin/src/test/java/com/baeldung/kotlin/ListUtilTest.java diff --git a/core-kotlin/src/main/kotlin/com/baeldung/kotlin/ListUtil.kt b/core-kotlin/src/main/kotlin/com/baeldung/kotlin/ListUtil.kt new file mode 100644 index 0000000000..0a48a42e13 --- /dev/null +++ b/core-kotlin/src/main/kotlin/com/baeldung/kotlin/ListUtil.kt @@ -0,0 +1,9 @@ +@file:JvmName("Lists") +package com.baeldung.kotlin + +fun MutableList.swap(firstIndex: Int, secondIndex: Int): MutableList { + val tmp = this[firstIndex] + this[firstIndex] = this[secondIndex] + this[secondIndex] = tmp + return this +} diff --git a/core-kotlin/src/test/java/com/baeldung/kotlin/ListUtilTest.java b/core-kotlin/src/test/java/com/baeldung/kotlin/ListUtilTest.java new file mode 100644 index 0000000000..4184cc0878 --- /dev/null +++ b/core-kotlin/src/test/java/com/baeldung/kotlin/ListUtilTest.java @@ -0,0 +1,22 @@ +package com.baeldung.kotlin; + +import org.junit.Assert; +import org.junit.Test; + +import java.util.Arrays; +import java.util.List; + +import static com.baeldung.kotlin.Lists.*; + +public class ListUtilTest { + + @Test + public void shouldSwapTwoElementsInList() { + List list = Arrays.asList(0, 1, 2); + + List swappedElements = swap(list, 1, 2); + + Assert.assertEquals(swappedElements, Arrays.asList(0, 2, 1)); + } + +} From 6fe5f008a7a239274c78822c1b6abe05e5f26281 Mon Sep 17 00:00:00 2001 From: Kacper Koza Date: Wed, 3 Apr 2019 09:47:58 +0200 Subject: [PATCH 2/3] BAEL --- .../kotlin/com/baeldung/kotlin/ListUtil.kt | 9 ------ .../kotlin/com/baeldung/kotlin/StringUtil.kt | 9 ++++++ .../com/baeldung/kotlin/ListUtilTest.java | 22 -------------- .../com/baeldung/kotlin/StringUtilTest.java | 30 +++++++++++++++++++ .../com/baeldung/kotlin/ExtensionMethods.kt | 7 ----- 5 files changed, 39 insertions(+), 38 deletions(-) delete mode 100644 core-kotlin/src/main/kotlin/com/baeldung/kotlin/ListUtil.kt create mode 100644 core-kotlin/src/main/kotlin/com/baeldung/kotlin/StringUtil.kt delete mode 100644 core-kotlin/src/test/java/com/baeldung/kotlin/ListUtilTest.java create mode 100644 core-kotlin/src/test/java/com/baeldung/kotlin/StringUtilTest.java diff --git a/core-kotlin/src/main/kotlin/com/baeldung/kotlin/ListUtil.kt b/core-kotlin/src/main/kotlin/com/baeldung/kotlin/ListUtil.kt deleted file mode 100644 index 0a48a42e13..0000000000 --- a/core-kotlin/src/main/kotlin/com/baeldung/kotlin/ListUtil.kt +++ /dev/null @@ -1,9 +0,0 @@ -@file:JvmName("Lists") -package com.baeldung.kotlin - -fun MutableList.swap(firstIndex: Int, secondIndex: Int): MutableList { - val tmp = this[firstIndex] - this[firstIndex] = this[secondIndex] - this[secondIndex] = tmp - return this -} diff --git a/core-kotlin/src/main/kotlin/com/baeldung/kotlin/StringUtil.kt b/core-kotlin/src/main/kotlin/com/baeldung/kotlin/StringUtil.kt new file mode 100644 index 0000000000..ca57b2965e --- /dev/null +++ b/core-kotlin/src/main/kotlin/com/baeldung/kotlin/StringUtil.kt @@ -0,0 +1,9 @@ +@file:JvmName("Strings") +package com.baeldung.kotlin + +fun String.escapeForXml() : String { + return this + .replace("&", "&") + .replace("<", "<") + .replace(">", ">") +} diff --git a/core-kotlin/src/test/java/com/baeldung/kotlin/ListUtilTest.java b/core-kotlin/src/test/java/com/baeldung/kotlin/ListUtilTest.java deleted file mode 100644 index 4184cc0878..0000000000 --- a/core-kotlin/src/test/java/com/baeldung/kotlin/ListUtilTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.baeldung.kotlin; - -import org.junit.Assert; -import org.junit.Test; - -import java.util.Arrays; -import java.util.List; - -import static com.baeldung.kotlin.Lists.*; - -public class ListUtilTest { - - @Test - public void shouldSwapTwoElementsInList() { - List list = Arrays.asList(0, 1, 2); - - List swappedElements = swap(list, 1, 2); - - Assert.assertEquals(swappedElements, Arrays.asList(0, 2, 1)); - } - -} diff --git a/core-kotlin/src/test/java/com/baeldung/kotlin/StringUtilTest.java b/core-kotlin/src/test/java/com/baeldung/kotlin/StringUtilTest.java new file mode 100644 index 0000000000..e02d3c4341 --- /dev/null +++ b/core-kotlin/src/test/java/com/baeldung/kotlin/StringUtilTest.java @@ -0,0 +1,30 @@ +package com.baeldung.kotlin; + +import kotlin.text.StringsKt; +import org.junit.Assert; +import org.junit.Test; + +import static com.baeldung.kotlin.Strings.*; + + +public class StringUtilTest { + + @Test + public void shouldSwapTwoElementsInList() { + String xml = "hi"; + + String escapedXml = escapeForXml(xml); + + Assert.assertEquals("<a>hi</a>", escapedXml); + } + + @Test + public void callingBuiltInKotlinExtensionMethod() { + String name = "john"; + + String capitalizedName = StringsKt.capitalize(name); + + Assert.assertEquals("John", capitalizedName); + } + +} diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/ExtensionMethods.kt b/core-kotlin/src/test/kotlin/com/baeldung/kotlin/ExtensionMethods.kt index 09ce898860..44c5cd0ece 100644 --- a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/ExtensionMethods.kt +++ b/core-kotlin/src/test/kotlin/com/baeldung/kotlin/ExtensionMethods.kt @@ -6,13 +6,6 @@ import org.junit.Test class ExtensionMethods { @Test fun simpleExtensionMethod() { - fun String.escapeForXml() : String { - return this - .replace("&", "&") - .replace("<", "<") - .replace(">", ">") - } - Assert.assertEquals("Nothing", "Nothing".escapeForXml()) Assert.assertEquals("<Tag>", "".escapeForXml()) Assert.assertEquals("a&b", "a&b".escapeForXml()) From fdabb28dd5a18d82844e5db0c1499171c66f89c9 Mon Sep 17 00:00:00 2001 From: Kacper Koza Date: Sat, 6 Apr 2019 20:55:22 +0200 Subject: [PATCH 3/3] BAEL --- .../src/test/java/com/baeldung/kotlin/StringUtilTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-kotlin/src/test/java/com/baeldung/kotlin/StringUtilTest.java b/core-kotlin/src/test/java/com/baeldung/kotlin/StringUtilTest.java index e02d3c4341..3f109b78a2 100644 --- a/core-kotlin/src/test/java/com/baeldung/kotlin/StringUtilTest.java +++ b/core-kotlin/src/test/java/com/baeldung/kotlin/StringUtilTest.java @@ -10,7 +10,7 @@ import static com.baeldung.kotlin.Strings.*; public class StringUtilTest { @Test - public void shouldSwapTwoElementsInList() { + public void shouldEscapeXmlTagsInString() { String xml = "hi"; String escapedXml = escapeForXml(xml);