BAEL-4312: Add Java Stream example (#9559)
This commit is contained in:
parent
6c921b3558
commit
ef41e8caa1
@ -21,11 +21,10 @@ public enum PizzaStatus {
|
|||||||
private static Map<Integer, PizzaStatus> timeToDeliveryToEnumValuesMapping = new HashMap<>();
|
private static Map<Integer, PizzaStatus> timeToDeliveryToEnumValuesMapping = new HashMap<>();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
PizzaStatus[] pizzaStatuses = PizzaStatus.values();
|
for (PizzaStatus pizzaStatus : PizzaStatus.values()) {
|
||||||
for (int pizzaStatusIndex = 0; pizzaStatusIndex < pizzaStatuses.length; pizzaStatusIndex++) {
|
|
||||||
timeToDeliveryToEnumValuesMapping.put(
|
timeToDeliveryToEnumValuesMapping.put(
|
||||||
pizzaStatuses[pizzaStatusIndex].getTimeToDelivery(),
|
pizzaStatus.getTimeToDelivery(),
|
||||||
pizzaStatuses[pizzaStatusIndex]
|
pizzaStatus
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
package com.baeldung.inttoenum;
|
package com.baeldung.inttoenum;
|
||||||
|
|
||||||
|
import org.assertj.core.api.Assertions;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
public class IntToEnumUnitTest {
|
public class IntToEnumUnitTest {
|
||||||
@ -9,19 +14,33 @@ public class IntToEnumUnitTest {
|
|||||||
@Test
|
@Test
|
||||||
public void whenIntToEnumUsingValuesMethod_thenReturnEnumObject() {
|
public void whenIntToEnumUsingValuesMethod_thenReturnEnumObject() {
|
||||||
int timeToDeliveryForOrderedPizzaStatus = 5;
|
int timeToDeliveryForOrderedPizzaStatus = 5;
|
||||||
PizzaStatus[] pizzaStatuses = PizzaStatus.values();
|
|
||||||
PizzaStatus pizzaOrderedStatus = null;
|
PizzaStatus pizzaOrderedStatus = null;
|
||||||
for (int pizzaStatusIndex = 0; pizzaStatusIndex < pizzaStatuses.length; pizzaStatusIndex++) {
|
|
||||||
if (pizzaStatuses[pizzaStatusIndex].getTimeToDelivery() == timeToDeliveryForOrderedPizzaStatus) {
|
for (PizzaStatus pizzaStatus : PizzaStatus.values()) {
|
||||||
pizzaOrderedStatus = pizzaStatuses[pizzaStatusIndex];
|
if (pizzaStatus.getTimeToDelivery() == timeToDeliveryForOrderedPizzaStatus) {
|
||||||
|
pizzaOrderedStatus = pizzaStatus;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assertEquals(pizzaOrderedStatus, PizzaStatus.ORDERED);
|
|
||||||
|
assertThat(pizzaOrderedStatus).isEqualTo(PizzaStatus.ORDERED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenIntToEnumUsingMap_thenReturnEnumObject() {
|
public void whenIntToEnumUsingMap_thenReturnEnumObject() {
|
||||||
int timeToDeliveryForOrderedPizzaStatus = 5;
|
int timeToDeliveryForOrderedPizzaStatus = 5;
|
||||||
assertEquals(PizzaStatus.castIntToEnum(timeToDeliveryForOrderedPizzaStatus), PizzaStatus.ORDERED);
|
|
||||||
|
assertThat(PizzaStatus.castIntToEnum(timeToDeliveryForOrderedPizzaStatus)).isEqualTo(PizzaStatus.ORDERED);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenIntToEnumUsingStream_thenReturnEnumObject() {
|
||||||
|
int timeToDeliveryForOrderedPizzaStatus = 5;
|
||||||
|
|
||||||
|
Optional<PizzaStatus> pizzaStatus = Arrays.stream(PizzaStatus.values())
|
||||||
|
.filter(p -> p.getTimeToDelivery() == timeToDeliveryForOrderedPizzaStatus)
|
||||||
|
.findFirst();
|
||||||
|
|
||||||
|
assertThat(pizzaStatus).hasValue(PizzaStatus.ORDERED);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user