diff --git a/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/inttoenum/PizzaStatus.java b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/inttoenum/PizzaStatus.java index 8d7c626521..ef8e712a59 100644 --- a/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/inttoenum/PizzaStatus.java +++ b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/inttoenum/PizzaStatus.java @@ -21,11 +21,10 @@ public enum PizzaStatus { private static Map timeToDeliveryToEnumValuesMapping = new HashMap<>(); static { - PizzaStatus[] pizzaStatuses = PizzaStatus.values(); - for (int pizzaStatusIndex = 0; pizzaStatusIndex < pizzaStatuses.length; pizzaStatusIndex++) { + for (PizzaStatus pizzaStatus : PizzaStatus.values()) { timeToDeliveryToEnumValuesMapping.put( - pizzaStatuses[pizzaStatusIndex].getTimeToDelivery(), - pizzaStatuses[pizzaStatusIndex] + pizzaStatus.getTimeToDelivery(), + pizzaStatus ); } } diff --git a/core-java-modules/core-java-lang-2/src/test/java/com/baeldung/inttoenum/IntToEnumUnitTest.java b/core-java-modules/core-java-lang-2/src/test/java/com/baeldung/inttoenum/IntToEnumUnitTest.java index 876c230827..aed8ce0a2b 100644 --- a/core-java-modules/core-java-lang-2/src/test/java/com/baeldung/inttoenum/IntToEnumUnitTest.java +++ b/core-java-modules/core-java-lang-2/src/test/java/com/baeldung/inttoenum/IntToEnumUnitTest.java @@ -1,7 +1,12 @@ package com.baeldung.inttoenum; +import org.assertj.core.api.Assertions; 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; public class IntToEnumUnitTest { @@ -9,19 +14,33 @@ public class IntToEnumUnitTest { @Test public void whenIntToEnumUsingValuesMethod_thenReturnEnumObject() { int timeToDeliveryForOrderedPizzaStatus = 5; - PizzaStatus[] pizzaStatuses = PizzaStatus.values(); + PizzaStatus pizzaOrderedStatus = null; - for (int pizzaStatusIndex = 0; pizzaStatusIndex < pizzaStatuses.length; pizzaStatusIndex++) { - if (pizzaStatuses[pizzaStatusIndex].getTimeToDelivery() == timeToDeliveryForOrderedPizzaStatus) { - pizzaOrderedStatus = pizzaStatuses[pizzaStatusIndex]; + + for (PizzaStatus pizzaStatus : PizzaStatus.values()) { + if (pizzaStatus.getTimeToDelivery() == timeToDeliveryForOrderedPizzaStatus) { + pizzaOrderedStatus = pizzaStatus; } } - assertEquals(pizzaOrderedStatus, PizzaStatus.ORDERED); + + assertThat(pizzaOrderedStatus).isEqualTo(PizzaStatus.ORDERED); } @Test public void whenIntToEnumUsingMap_thenReturnEnumObject() { 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 = Arrays.stream(PizzaStatus.values()) + .filter(p -> p.getTimeToDelivery() == timeToDeliveryForOrderedPizzaStatus) + .findFirst(); + + assertThat(pizzaStatus).hasValue(PizzaStatus.ORDERED); } } \ No newline at end of file