BALE-2224 Ternary Operator In Java (#5362)
This commit is contained in:
parent
49176866e6
commit
b4aa279eaa
@ -0,0 +1,43 @@
|
|||||||
|
package com.baeldung.ternaryoperator;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class TernaryOperatorUnitTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenACondition_whenUsingTernaryOperator_thenItEvaluatesConditionAndReturnsAValue() {
|
||||||
|
int number = 10;
|
||||||
|
String msg = number > 10 ? "Number is greater than 10" : "Number is less than or equal to 10";
|
||||||
|
|
||||||
|
assertThat(msg).isEqualTo("Number is less than or equal to 10");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenATrueCondition_whenUsingTernaryOperator_thenOnlyExpression1IsEvaluated() {
|
||||||
|
int exp1 = 0, exp2 = 0;
|
||||||
|
int result = 12 > 10 ? ++exp1 : ++exp2;
|
||||||
|
|
||||||
|
assertThat(exp1).isEqualTo(1);
|
||||||
|
assertThat(exp2).isEqualTo(0);
|
||||||
|
assertThat(result).isEqualTo(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenAFalseCondition_whenUsingTernaryOperator_thenOnlyExpression2IsEvaluated() {
|
||||||
|
int exp1 = 0, exp2 = 0;
|
||||||
|
int result = 8 > 10 ? ++exp1 : ++exp2;
|
||||||
|
|
||||||
|
assertThat(exp1).isEqualTo(0);
|
||||||
|
assertThat(exp2).isEqualTo(1);
|
||||||
|
assertThat(result).isEqualTo(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenANestedCondition_whenUsingTernaryOperator_thenCorrectValueIsReturned() {
|
||||||
|
int number = 6;
|
||||||
|
String msg = number > 10 ? "Number is greater than 10" : number > 5 ? "Number is greater than 5" : "Number is less than or equal to 5";
|
||||||
|
|
||||||
|
assertThat(msg).isEqualTo("Number is greater than 5");
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user