Added if-else expression examples in kotlin (#9296)

This commit is contained in:
Anirban 2020-05-16 09:43:14 +02:00 committed by GitHub
parent 708e85ce38
commit e264ffd4bc
2 changed files with 129 additions and 0 deletions

View File

@ -0,0 +1,86 @@
package com.baeldung.ifelseexpression
fun ifStatementUsage(): String {
val number = 15
if (number > 0) {
return "Positive number"
}
return "Positive number not found"
}
fun ifElseStatementUsage(): String {
val number = -50
if (number > 0) {
return "Positive number"
} else {
return "Negative number"
}
}
fun ifElseExpressionUsage(): String {
val number = -50
val result = if (number > 0) {
"Positive number"
} else {
"Negative number"
}
return result
}
fun ifElseExpressionSingleLineUsage(): String {
val number = -50
val result = if (number > 0) "Positive number" else "Negative number"
return result
}
fun ifElseMultipleExpressionUsage(): Int {
val x = 24
val y = 73
val result = if (x > y) {
println("$x is greater than $y")
x
} else {
println("$x is less than or equal to $y")
y
}
return result
}
fun ifElseLadderExpressionUsage(): String {
val number = 60
val result = if (number < 0) {
"Negative number"
} else if (number in 0..9) {
"Single digit number"
} else if (number in 10..99) {
"Double digit number"
} else {
"Number has more digits"
}
return result
}
fun ifElseNestedExpressionUsage(): Int {
val x = 37
val y = 89
val z = 6
val result = if (x > y) {
if (x > z)
x
else
z
} else {
if (y > z)
y
else
z
}
return result
}

View File

@ -0,0 +1,43 @@
package com.baeldung.ifelseexpression
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNotEquals
class IfElseExpressionExampleTest {
@Test
fun givenNumber_whenIfStatementCalled_thenReturnsString() {
assertEquals("Positive number", ifStatementUsage())
}
@Test
fun givenNumber_whenIfElseStatementCalled_thenReturnsString() {
assertEquals("Negative number", ifElseStatementUsage())
}
@Test
fun givenNumber_whenIfElseExpressionCalled_thenReturnsString() {
assertEquals("Negative number", ifElseExpressionUsage())
}
@Test
fun givenNumber_whenIfElseExpressionSingleLineCalled_thenReturnsString() {
assertEquals("Negative number", ifElseExpressionSingleLineUsage())
}
@Test
fun givenNumber_whenIfElseMultipleExpressionCalled_thenReturnsNumber() {
assertEquals(73, ifElseMultipleExpressionUsage())
}
@Test
fun givenNumber_whenIfElseLadderExpressionCalled_thenReturnsString() {
assertEquals("Double digit number", ifElseLadderExpressionUsage())
}
@Test
fun givenNumber_whenIfElseNestedExpressionCalled_thenReturnsNumber() {
assertEquals(89, ifElseNestedExpressionUsage())
}
}