1. Java 8 Comparators example added

2. Comparator.comparing example added
This commit is contained in:
gschambial 2017-11-24 13:48:55 +05:30
parent 0a8fd5ed2c
commit 66a1c32e13
4 changed files with 84 additions and 15 deletions

View File

@ -20,8 +20,10 @@ public class ComparableUnitTest {
footballTeam.add(player2); footballTeam.add(player2);
footballTeam.add(player3); footballTeam.add(player3);
Collections.sort(footballTeam); Collections.sort(footballTeam);
assertEquals(footballTeam.get(0).getName(), "Steven"); assertEquals(footballTeam.get(0)
assertEquals(footballTeam.get(2).getRanking(), 67); .getName(), "Steven");
assertEquals(footballTeam.get(2)
.getRanking(), 67);
} }
} }

View File

@ -14,7 +14,7 @@ public class ComparatorUnitTest {
List<Player> footballTeam; List<Player> footballTeam;
@Before @Before
public void setUp(){ public void setUp() {
footballTeam = new ArrayList<Player>(); footballTeam = new ArrayList<Player>();
Player player1 = new Player(59, "John", 20); Player player1 = new Player(59, "John", 20);
Player player2 = new Player(67, "Roger", 22); Player player2 = new Player(67, "Roger", 22);
@ -28,16 +28,20 @@ public class ComparatorUnitTest {
public void whenUsingRankingComparator_thenSortedList() { public void whenUsingRankingComparator_thenSortedList() {
PlayerRankingComparator playerComparator = new PlayerRankingComparator(); PlayerRankingComparator playerComparator = new PlayerRankingComparator();
Collections.sort(footballTeam, playerComparator); Collections.sort(footballTeam, playerComparator);
assertEquals(footballTeam.get(0).getName(), "Steven"); assertEquals(footballTeam.get(0)
assertEquals(footballTeam.get(2).getRanking(), 67); .getName(), "Steven");
assertEquals(footballTeam.get(2)
.getRanking(), 67);
} }
@Test @Test
public void whenUsingAgeComparator_thenSortedList() { public void whenUsingAgeComparator_thenSortedList() {
PlayerAgeComparator playerComparator = new PlayerAgeComparator(); PlayerAgeComparator playerComparator = new PlayerAgeComparator();
Collections.sort(footballTeam, playerComparator); Collections.sort(footballTeam, playerComparator);
assertEquals(footballTeam.get(0).getName(), "John"); assertEquals(footballTeam.get(0)
assertEquals(footballTeam.get(2).getRanking(), 45); .getName(), "John");
assertEquals(footballTeam.get(2)
.getRanking(), 45);
} }
} }

View File

@ -0,0 +1,63 @@
package com.baeldung.comparator;
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
public class Java8ComparatorUnitTest {
List<Player> footballTeam;
@Before
public void setUp() {
footballTeam = new ArrayList<Player>();
Player player1 = new Player(59, "John", 20);
Player player2 = new Player(67, "Roger", 22);
Player player3 = new Player(45, "Steven", 24);
footballTeam.add(player1);
footballTeam.add(player2);
footballTeam.add(player3);
}
@Test
public void whenComparing_UsingJava8_thenSorted() {
System.out.println("************** Java 8 Comaparator **************");
Comparator<Player> byRanking = new Comparator<Player>() {
@Override
public int compare(Player player1, Player player2) {
return player1.getRanking() - player2.getRanking();
}
};
System.out.println("Before Sorting : " + footballTeam);
Collections.sort(footballTeam, byRanking);
System.out.println("After Sorting : " + footballTeam);
assertEquals(footballTeam.get(0)
.getName(), "Steven");
assertEquals(footballTeam.get(2)
.getRanking(), 67);
}
@Test
public void whenComparing_UsingComparatorComparing_thenSorted() {
System.out.println("********* Comaparator.comparing method *********");
Comparator<Player> byRanking =
(Player player1, Player player2)->player1.getRanking()-player2.getRanking();
System.out.println("Before Sorting : " + footballTeam);
Collections.sort(footballTeam, byRanking);
System.out.println("After Sorting : " + footballTeam);
assertEquals(footballTeam.get(0)
.getName(), "Steven");
assertEquals(footballTeam.get(2)
.getRanking(), 67);
}
}