[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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user