Added a test for comparing deleted keywords with not deleted ones.
This commit is contained in:
parent
e137027b06
commit
b3736af8ff
@ -282,10 +282,11 @@ public class TestGreedyMatchingAlgorithm {
|
||||
projectIdea.getKeywords().getAll().add(keyword);
|
||||
}
|
||||
|
||||
private Keyword createKeyword(final KeywordType keyWordType , final String keyWordName) {
|
||||
private Keyword createKeyword(final KeywordType keyWordType , final String keyWordName, final boolean deleted) {
|
||||
Keyword keyword = new Keyword();
|
||||
keyword.setType(keyWordType);
|
||||
keyword.setKeyword(keyWordName);
|
||||
keyword.setDeleted(deleted);
|
||||
return keywordDao.save(keyword);
|
||||
}
|
||||
|
||||
@ -295,9 +296,9 @@ public class TestGreedyMatchingAlgorithm {
|
||||
/* keywords of 16 points should supersede a preferred supervisor of 15 points */
|
||||
public void higherScoreShouldSupersedePreferredSupervisor() {
|
||||
Employee bachelorSupervisor2 = createSupervisor("David", "Hallberg");
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeArea, "test area")); // 10
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeWord, "test unit")); // 3
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeWord, "Java")); // 3
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeArea, "test area", false)); // 10
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeWord, "test unit", false)); // 3
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeWord, "Java", false)); // 3
|
||||
supervisorAvailability.add(new Availability(bachelorSupervisor2, 0L, 1, bachelorProjectClass));
|
||||
supervisorAvailability.add(new Availability(bachelorSupervisor, 0L, 1, bachelorProjectClass));
|
||||
bachelorProjectIdea.setPreferredSupervisor(bachelorSupervisor); // 15
|
||||
@ -314,8 +315,8 @@ public class TestGreedyMatchingAlgorithm {
|
||||
/* a preferred supervisor of 15 points should supersede keywords of 13 points */
|
||||
public void preferredSupervisorShouldSupersedeLowerScore() {
|
||||
Employee bachelorSupervisor2 = createSupervisor("David", "Hallberg");
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeArea, "test area")); // 10
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeWord, "test unit")); // 3
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeArea, "test area", false)); // 10
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeWord, "test unit", false)); // 3
|
||||
supervisorAvailability.add(new Availability(bachelorSupervisor2, 0L, 1, bachelorProjectClass));
|
||||
supervisorAvailability.add(new Availability(bachelorSupervisor, 0L, 1, bachelorProjectClass));
|
||||
bachelorProjectIdea.setPreferredSupervisor(bachelorSupervisor); // 15
|
||||
@ -332,9 +333,9 @@ public class TestGreedyMatchingAlgorithm {
|
||||
/* keywords of 6 points should supersede keywords of 3 points */
|
||||
public void higherScoreShouldSupersedeLowerScore() {
|
||||
Employee bachelorSupervisor2 = createSupervisor("David", "Hallberg");
|
||||
addKeyWords(bachelorSupervisor, bachelorProjectIdea, createKeyword(keywordTypeWord, "test unit")); // 3
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeWord, "UML")); // 3
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeWord, "Design")); // 3
|
||||
addKeyWords(bachelorSupervisor, bachelorProjectIdea, createKeyword(keywordTypeWord, "test unit", false)); // 3
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeWord, "UML", false)); // 3
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeWord, "Design", false)); // 3
|
||||
supervisorAvailability.add(new Availability(bachelorSupervisor2, 0L, 1, bachelorProjectClass));
|
||||
supervisorAvailability.add(new Availability(bachelorSupervisor, 0L, 1, bachelorProjectClass));
|
||||
unmatchedProjectIdeas.add(bachelorProjectIdea);
|
||||
@ -343,4 +344,22 @@ public class TestGreedyMatchingAlgorithm {
|
||||
Assert.isTrue(result.matches.get(0).getProjectIdea().equals(bachelorProjectIdea));
|
||||
Assert.isTrue(result.matches.get(0).getSupervisor().equals(bachelorSupervisor2));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Transactional
|
||||
@Rollback
|
||||
/* keywords of 6 points should NOT supersede keywords of 3 points, when some of the keywords are deleted */
|
||||
public void higherScoreShouldNotSupersedeLowerScoreWhenDeleted() {
|
||||
Employee bachelorSupervisor2 = createSupervisor("David", "Hallberg");
|
||||
addKeyWords(bachelorSupervisor, bachelorProjectIdea, createKeyword(keywordTypeWord, "test unit", false)); // 3
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeWord, "UML", true)); // 3
|
||||
addKeyWords(bachelorSupervisor2, bachelorProjectIdea, createKeyword(keywordTypeWord, "Design", true)); // 3
|
||||
supervisorAvailability.add(new Availability(bachelorSupervisor2, 0L, 1, bachelorProjectClass));
|
||||
supervisorAvailability.add(new Availability(bachelorSupervisor, 0L, 1, bachelorProjectClass));
|
||||
unmatchedProjectIdeas.add(bachelorProjectIdea);
|
||||
Result result = new GreedyMatchingAlgorithm().match(supervisorAvailability, unmatchedProjectIdeas, weights);
|
||||
Assert.notEmpty(result.matches);
|
||||
Assert.isTrue(result.matches.get(0).getProjectIdea().equals(bachelorProjectIdea));
|
||||
Assert.isTrue(result.matches.get(0).getSupervisor().equals(bachelorSupervisor));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user