diff --git a/core-java-modules/core-java-streams-5/src/test/java/com/baeldung/streams/firstmatchingelement/FirstMatchingElementUnitTest.java b/core-java-modules/core-java-streams-5/src/test/java/com/baeldung/streams/firstmatchingelement/FirstMatchingElementUnitTest.java index 48171bab65..2021014957 100644 --- a/core-java-modules/core-java-streams-5/src/test/java/com/baeldung/streams/firstmatchingelement/FirstMatchingElementUnitTest.java +++ b/core-java-modules/core-java-streams-5/src/test/java/com/baeldung/streams/firstmatchingelement/FirstMatchingElementUnitTest.java @@ -44,9 +44,13 @@ public class FirstMatchingElementUnitTest { @Test public void whenUsingTakeWhile_thenFindFirstMatchingUserIndex() { int lastIndex = userList.size() - 1; + AtomicInteger counter = new AtomicInteger(-1); int predicateIndex = userList.stream() - .takeWhile(user -> !(searchName.equals(user.getUserName()))) - .mapToInt(userList::indexOf) + .takeWhile(user -> { + counter.getAndIncrement(); + return !(searchName.equals(user.getUserName())); + }) + .mapToInt(user -> counter.get()) .max() .orElse(-1);