[call-a-method-oneach] call a method on each element (#15540)
* [call-a-method-oneach] call a method on each element * [call-a-method-oneach] fix typo
This commit is contained in:
parent
99832d0d4d
commit
c41bd80850
|
@ -0,0 +1,96 @@
|
|||
package com.baeldung.callmethodoneach;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
class Player {
|
||||
|
||||
private int id;
|
||||
private String name;
|
||||
private int score;
|
||||
|
||||
public Player(int id, String name, int score) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.score = score;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public int getScore() {
|
||||
return score;
|
||||
}
|
||||
}
|
||||
|
||||
public class CallAMethodOnEachElementUnitTest {
|
||||
|
||||
private Logger log = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
// @formatter:off
|
||||
private final static List<Player> PLAYERS = List.of(
|
||||
new Player(1, "Kai", 42),
|
||||
new Player(2, "Eric", 43),
|
||||
new Player(3, "Saajan", 64),
|
||||
new Player(4, "Kevin", 30),
|
||||
new Player(5, "John", 5));
|
||||
// @formatter:on
|
||||
|
||||
@Test
|
||||
void whenUsingForLoopCallLogPrint_thenGetExpectedResult() {
|
||||
for (Player p : PLAYERS) {
|
||||
log.info(p.getName());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenUsingForEachCallLogPrint_thenGetExpectedResult() {
|
||||
PLAYERS.forEach(player -> log.info(player.getName()));
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenUsingForLoopAndListAddExtractPlayerNames_thenGetExpectedResult() {
|
||||
List<String> names = new ArrayList<>();
|
||||
for (Player p : PLAYERS) {
|
||||
names.add(p.getName());
|
||||
}
|
||||
assertEquals(Arrays.asList("Kai", "Eric", "Saajan", "Kevin", "John"), names);
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenUsingGuavaTransformExtractPlayerNames_thenGetExpectedResult() {
|
||||
List<String> names = Lists.transform(PLAYERS, new Function<Player, String>() {
|
||||
@Override
|
||||
public String apply(Player input) {
|
||||
return input.getName();
|
||||
}
|
||||
});
|
||||
|
||||
assertEquals(Arrays.asList("Kai", "Eric", "Saajan", "Kevin", "John"), names);
|
||||
}
|
||||
|
||||
@Test
|
||||
void whenUsingStreamMapExtractPlayerNames_thenGetExpectedResult() {
|
||||
List<String> names = PLAYERS.stream()
|
||||
.map(player -> player.getName())
|
||||
.collect(Collectors.toList());
|
||||
assertEquals(List.of("Kai", "Eric", "Saajan", "Kevin", "John"), names);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue