diff --git a/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java b/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java index 21550c64e1..609726cba9 100644 --- a/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java +++ b/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java @@ -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)); } }