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;
|
package se.su.dsv.scipro.springdata;
|
||||||
|
|
||||||
|
|
||||||
|
import org.apache.commons.lang.builder.CompareToBuilder;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.dao.DataAccessException;
|
||||||
import org.springframework.data.domain.Sort;
|
import org.springframework.data.domain.Sort;
|
||||||
import org.springframework.test.annotation.Rollback;
|
import org.springframework.test.annotation.Rollback;
|
||||||
import org.springframework.test.context.ContextConfiguration;
|
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 se.su.dsv.scipro.springdata.services.SupervisorService;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
@ -43,16 +47,14 @@ public class TestSupervisor {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private KeywordTypeDao keywordTypeDao;
|
private KeywordTypeDao keywordTypeDao;
|
||||||
|
|
||||||
private KeywordType keywordTypeArea;
|
|
||||||
private KeywordType keywordTypeWord;
|
private KeywordType keywordTypeWord;
|
||||||
private Weights weights;
|
|
||||||
|
|
||||||
@SuppressWarnings("EmptyMethod")
|
@SuppressWarnings("EmptyMethod")
|
||||||
@Before
|
@Before
|
||||||
public void startTransaction() throws Exception {
|
public void startTransaction() throws Exception {
|
||||||
keywordTypeArea = keywordTypeDao.save(new KeywordType("Area"));
|
KeywordType keywordTypeArea = keywordTypeDao.save(new KeywordType("Area"));
|
||||||
keywordTypeWord = keywordTypeDao.save(new KeywordType("Word"));
|
keywordTypeWord = keywordTypeDao.save(new KeywordType("Word"));
|
||||||
weights = createWeights();
|
Weights weights = createWeights();
|
||||||
}
|
}
|
||||||
|
|
||||||
private Weights createWeights() {
|
private Weights createWeights() {
|
||||||
@ -113,7 +115,7 @@ public class TestSupervisor {
|
|||||||
/**
|
/**
|
||||||
* Test for implementing a supervisorService with Spring Data
|
* Test for implementing a supervisorService with Spring Data
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test //(expected = DataAccessException.class )
|
||||||
@Transactional
|
@Transactional
|
||||||
@Rollback
|
@Rollback
|
||||||
public void findSupervisorFirstName() {
|
public void findSupervisorFirstName() {
|
||||||
@ -146,18 +148,38 @@ public class TestSupervisor {
|
|||||||
Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se");
|
Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se");
|
||||||
Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se");
|
Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Keyword keyword = createKeyword(keywordTypeWord, "JUnit", false);
|
Keyword keyword = createKeyword(keywordTypeWord, "JUnit", false);
|
||||||
herder.getKeywords().getAll().add(keyword);
|
herder.getKeywords().getAll().add(keyword);
|
||||||
keyword = createKeyword(keywordTypeWord, "Maven", false);
|
keyword = createKeyword(keywordTypeWord, "Maven", false);
|
||||||
herder.getKeywords().getAll().add(keyword);
|
herder.getKeywords().getAll().add(keyword);
|
||||||
herder = supervisorService.save(herder);
|
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));
|
employeeList.addAll(supervisorService.findAllEmployees(sortOrder));
|
||||||
assertFalse(employeeList.isEmpty());
|
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