implemented test for sorting Employees based on keyword counts.
This commit is contained in:
parent
3fd14f52b6
commit
912b6c5e4b
@ -1,10 +1,12 @@
|
||||
package se.su.dsv.scipro.springdata;
|
||||
|
||||
|
||||
import org.apache.commons.lang.builder.CompareToBuilder;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.test.annotation.Rollback;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
@ -21,6 +23,8 @@ import se.su.dsv.scipro.match.dataobject.KeywordType;
|
||||
import se.su.dsv.scipro.springdata.services.SupervisorService;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
@ -43,16 +47,14 @@ public class TestSupervisor {
|
||||
@Autowired
|
||||
private KeywordTypeDao keywordTypeDao;
|
||||
|
||||
private KeywordType keywordTypeArea;
|
||||
private KeywordType keywordTypeWord;
|
||||
private Weights weights;
|
||||
|
||||
@SuppressWarnings("EmptyMethod")
|
||||
@Before
|
||||
public void startTransaction() throws Exception {
|
||||
keywordTypeArea = keywordTypeDao.save(new KeywordType("Area"));
|
||||
KeywordType keywordTypeArea = keywordTypeDao.save(new KeywordType("Area"));
|
||||
keywordTypeWord = keywordTypeDao.save(new KeywordType("Word"));
|
||||
weights = createWeights();
|
||||
Weights weights = createWeights();
|
||||
}
|
||||
|
||||
private Weights createWeights() {
|
||||
@ -113,7 +115,7 @@ public class TestSupervisor {
|
||||
/**
|
||||
* Test for implementing a supervisorService with Spring Data
|
||||
*/
|
||||
@Test
|
||||
@Test //(expected = DataAccessException.class )
|
||||
@Transactional
|
||||
@Rollback
|
||||
public void findSupervisorFirstName() {
|
||||
@ -146,18 +148,38 @@ public class TestSupervisor {
|
||||
Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se");
|
||||
Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se");
|
||||
|
||||
|
||||
|
||||
Keyword keyword = createKeyword(keywordTypeWord, "JUnit", false);
|
||||
herder.getKeywords().getAll().add(keyword);
|
||||
keyword = createKeyword(keywordTypeWord, "Maven", false);
|
||||
herder.getKeywords().getAll().add(keyword);
|
||||
herder = supervisorService.save(herder);
|
||||
|
||||
/* Sort sortOrder = new Sort(org.springframework.data.domain.Sort.Direction.ASC, "keywords.all.size()");
|
||||
keyword = createKeyword(keywordTypeWord, "JUnit", false);
|
||||
tholerus.getKeywords().getAll().add(keyword);
|
||||
keyword = createKeyword(keywordTypeWord, "Maven", false);
|
||||
tholerus.getKeywords().getAll().add(keyword);
|
||||
keyword = createKeyword(keywordTypeWord, "Java", false);
|
||||
tholerus.getKeywords().getAll().add(keyword);
|
||||
tholerus = supervisorService.save(tholerus);
|
||||
|
||||
Sort sortOrder = new Sort(org.springframework.data.domain.Sort.Direction.ASC, "user.firstName");
|
||||
employeeList.addAll(supervisorService.findAllEmployees(sortOrder));
|
||||
assertFalse(employeeList.isEmpty());
|
||||
assertTrue(employeeList.get(0).equals(herder));*/
|
||||
//assertTrue(employeeList.get(5).equals(tholerus));
|
||||
|
||||
Collections.sort(employeeList, new Comparator<Employee>() {
|
||||
@Override
|
||||
public int compare(Employee o1, Employee o2) {
|
||||
if(o1.getKeywords().getAll().size() > o2.getKeywords().getAll().size()) {
|
||||
return -1;
|
||||
} else if(o2.getKeywords().getAll().size() > o1.getKeywords().getAll().size()) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
assertTrue(employeeList.get(0).equals(tholerus));
|
||||
assertTrue(employeeList.get(1).equals(herder));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user