BAEL-382 null-safety example

This commit is contained in:
Tomasz Lelek 2017-01-02 14:48:05 +01:00
parent 3351d96147
commit 4d415f7f74
4 changed files with 46 additions and 1 deletions

View File

@ -14,6 +14,18 @@
<artifactId>kotlin-stdlib</artifactId>
<version>1.0.4</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-test-junit</artifactId>
<version>1.0.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
@ -24,7 +36,6 @@
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>1.0.4</version>
<executions>
<execution>
<id>compile</id>

View File

@ -0,0 +1,4 @@
package com.baeldung
data class Item(val id: String, val name: String)

View File

@ -0,0 +1,10 @@
package com.baeldung
import java.util.*
class ItemService {
fun findItemNameForId(id: String): Item? {
val itemId = UUID.randomUUID().toString()
return Item(itemId, "name-$itemId");
}
}

View File

@ -0,0 +1,20 @@
package com.baeldung
import org.junit.Test
import kotlin.test.assertNotNull
class ItemServiceTest {
@Test
fun givenItemId_whenGetForOptionalName_shouldMakeActionOnNonNullValue() {
//given
val id = "item_id"
val itemService = ItemService()
//when
val result = itemService.findItemNameForId(id)
//then
assertNotNull(result?.let { it -> it.id })
assertNotNull(result!!.id)
}
}