import
static
org.junit.jupiter.api.Assertions.assertEquals;
import
static
org.junit.jupiter.api.Assertions.assertTrue;
import
java.util.ArrayList;
import
java.util.Collections;
import
org.junit.jupiter.api.DisplayName;
import
org.junit.jupiter.api.Test;
public
class
TestComparatorServicesJava {
private
void
addListElements(ArrayList<Recruitment> list) {
list.add(
new
Recruitment(
"abc consultants"
,
"Rachel"
,
"Analyst"
,
100000.0
,
true
));
list.add(
new
Recruitment(
"nyc consultants"
,
"Monica"
,
"DBA"
,
90000.0
,
true
));
list.add(
new
Recruitment(
"abc consultants"
,
"Phoebe"
,
"Programmer"
,
70000.0
,
true
));
list.add(
new
Recruitment(
"nj consultants"
,
"Jane"
,
"Programmer"
,
80000.0
,
false
));
list.add(
new
Recruitment(
"xyz consultants"
,
"Ross"
,
"ProgramManager"
,
200000.0
,
true
));
list.add(
new
Recruitment(
"chennai consultants"
,
"Chandler"
,
"ProjectManager"
,
150000.0
,
true
));
list.add(
new
Recruitment(
"xyz consultants"
,
"Joe"
,
"Programmer"
,
80000.0
,
true
));
list.add(
new
Recruitment(
"mumbai consultants"
,
"Any"
,
"Programmer"
,
85000.0
,
false
));
}
@DisplayName
(
"Test check whether sorting done by company name "
)
@Test
public
void
testSortByCompanyName() {
ArrayList<Recruitment> list =
new
ArrayList<Recruitment>();
addListElements(list);
Collections.sort(list,
new
GetDataByCompanyName());
assertEquals(
true
, list.get(
0
).getCompanyName().equalsIgnoreCase(
"abc consultants"
));
assertEquals(
true
, list.get(
1
).getEmployeeName().equalsIgnoreCase(
"Phoebe"
));
assertEquals(
true
, list.get(
2
).getDesignation().equalsIgnoreCase(
"ProjectManager"
));
assertTrue(list.get(
0
).getEmployeeName().equalsIgnoreCase(
"Rachel"
));
assertTrue(list.get(list.size()-
1
).getCompanyName().equalsIgnoreCase(
"xyz consultants"
));
assertTrue(list.get(list.size()-
1
).getDesignation().equalsIgnoreCase(
"Programmer"
));
}
@DisplayName
(
"Test check whether sorting done by salary "
)
@Test
public
void
testSortBySalary() {
ArrayList<Recruitment> list =
new
ArrayList<Recruitment>();
addListElements(list);
Collections.sort(list,
new
GetDataBySalary());
assertEquals(
true
, list.get(
0
).getCompanyName().equalsIgnoreCase(
"abc consultants"
));
assertEquals(
true
, list.get(
1
).getCompanyName().equalsIgnoreCase(
"nj consultants"
));
assertEquals(
true
, list.get(
2
).getSalary() ==
80000.0
);
assertTrue(list.get(
0
).getEmployeeName().equalsIgnoreCase(
"Phoebe"
));
assertTrue(list.get(list.size()-
1
).getCompanyName().equalsIgnoreCase(
"xyz consultants"
));
assertTrue(list.get(list.size()-
1
).getDesignation().equalsIgnoreCase(
"ProgramManager"
));
assertTrue(list.get(
0
).getSalary() ==
70000.0
);
assertTrue(list.get(list.size()-
1
).getSalary() ==
200000.0
);
}
@DisplayName
(
"Test check whether sorting done by designation "
)
@Test
public
void
testSortByDesignation() {
ArrayList<Recruitment> list =
new
ArrayList<Recruitment>();
addListElements(list);
Collections.sort(list,
new
GetDataByDesignation());
assertEquals(
true
, list.get(
0
).getCompanyName().equalsIgnoreCase(
"abc consultants"
));
assertEquals(
true
, list.get(
1
).getCompanyName().equalsIgnoreCase(
"nyc consultants"
));
assertEquals(
true
, list.get(
2
).getSalary() ==
200000.0
);
assertTrue(list.get(
0
).getEmployeeName().equalsIgnoreCase(
"Rachel"
));
assertTrue(list.get(list.size()-
1
).getCompanyName().equalsIgnoreCase(
"chennai consultants"
));
assertTrue(list.get(list.size()-
1
).getDesignation().equalsIgnoreCase(
"ProjectManager"
));
assertTrue(list.get(
0
).getSalary() ==
100000.0
);
assertTrue(list.get(list.size()-
1
).getSalary() ==
150000.0
);
}
@DisplayName
(
"Test check whether sorting done both designation and salary "
)
@Test
public
void
testSortByBothDesignationAndSalary() {
ArrayList<Recruitment> list =
new
ArrayList<Recruitment>();
addListElements(list);
Collections.sort(list,
new
GetDataByDesignationAndSalary());
assertEquals(
true
, list.get(
0
).getCompanyName().equalsIgnoreCase(
"abc consultants"
));
assertEquals(
true
, list.get(
1
).getCompanyName().equalsIgnoreCase(
"nj consultants"
));
assertEquals(
true
, list.get(
2
).getSalary() ==
80000.0
);
assertTrue(list.get(
0
).getEmployeeName().equalsIgnoreCase(
"Phoebe"
));
assertTrue(list.get(list.size()-
2
).getCompanyName().equalsIgnoreCase(
"chennai consultants"
));
assertTrue(list.get(list.size()-
2
).getDesignation().equalsIgnoreCase(
"ProjectManager"
));
assertTrue(list.get(
3
).getSalary() ==
85000.0
);
assertTrue(list.get(list.size()-
1
).getSalary() ==
200000.0
);
assertTrue(list.get(list.size()-
1
).getDesignation().equalsIgnoreCase(
"ProgramManager"
));
}
}