Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1097 → Rev 1098

/trunk/src/org/tela_botanica/del/client/services/CalculVoteDeterminationService.java
28,19 → 28,43
public static MoyenneVote calculerVoteDetermination(PropositionDetermination propositionDetermination) {
Map<String,VoteDetermination> votes = propositionDetermination.getVotesDeterminations();
int scoreVote = 0;
int nbVotes = votes.size();
double scoreVoteIdentifie = 0;
double scoreVoteAnonyme = 0;
double scoreVote = 0;
if(votes.size() > 0) {
Set<String> cles = votes.keySet();
 
for (String cle : cles) {
scoreVote += votes.get(cle).getVote();
String idAuteur = cle;
int valeurVote = votes.get(cle).getVote();
if(estUnAuteurIdentifie(idAuteur)) {
// un votant identifiant compte comme deux votants supplémentaires
// il a donc un vote 3 fois supérieur
scoreVoteIdentifie += 3*valeurVote;
nbVotes += 2;
} else {
scoreVoteAnonyme += valeurVote;
}
}
scoreVote = (scoreVote*100)/votes.size();
scoreVote = ((scoreVoteAnonyme + scoreVoteIdentifie)/(nbVotes))*100;
} else {
scoreVote = -1;
}
return new MoyenneVote(scoreVote, propositionDetermination);
return new MoyenneVote((new Double(scoreVote)).intValue(), propositionDetermination);
}
private static boolean estUnAuteurIdentifie(String idAuteur) {
boolean estIdentifie = true;
try {
int intIdAuteur = Integer.parseInt(idAuteur);
} catch (NumberFormatException nfe) {
estIdentifie = false;
}
return estIdentifie;
}
}
/trunk/src/org/tela_botanica/del/test/services/CalculVoteDeterminationServiceTest.java
40,39 → 40,35
@Test
public void testCalculerVoteDeterminationPlusPopulaire() {
 
Contributeur cIdent1 = new Contributeur("1", "Peronnet", "Aurélien", "aurelien@tela-botanica.org");
Contributeur cIdent2 = new Contributeur("2", "Liens", "Benjamin", "benjamin@tela-botanica.org");
Contributeur cAnon1 = new Contributeur("a1a5f7b8s8c4v2b3g4g5t7t8t94", "", "", "");
VoteDetermination voteDetermination1 = new VoteDetermination();
voteDetermination1.setVote(1);
voteDetermination1.setDate(new Date());
voteDetermination1.setContributeur("benjamin");
voteDetermination1.setContributeur(cIdent1.getId());
voteDetermination1.setAuteur(cIdent1);
VoteDetermination voteDetermination2 = new VoteDetermination();
voteDetermination2.setVote(1);
voteDetermination2.setDate(new Date());
voteDetermination2.setContributeur("aurelien");
voteDetermination2.setContributeur(cIdent2.getId());
voteDetermination2.setAuteur(cIdent2);
VoteDetermination voteDetermination3 = new VoteDetermination();
voteDetermination3.setVote(0);
voteDetermination3.setDate(new Date());
voteDetermination3.setContributeur("benjamin");
VoteDetermination voteDetermination4 = new VoteDetermination();
voteDetermination3.setVote(0);
voteDetermination3.setDate(new Date());
voteDetermination3.setContributeur("benjamin");
VoteDetermination voteDetermination5 = new VoteDetermination();
voteDetermination4.setVote(1);
voteDetermination4.setDate(new Date());
voteDetermination4.setContributeur("benjamin");
voteDetermination3.setContributeur(cAnon1.getId());
voteDetermination3.setAuteur(cAnon1);
 
PropositionDetermination propositionDetermination = new PropositionDetermination(new Observation());
propositionDetermination.setEspece("Iris lutescens subsp. lutescens");
propositionDetermination.setContributeur(new Contributeur("1", "contrib", "test", "contrib@test.com"));
propositionDetermination.setId("1");
propositionDetermination.ajouterVoteDetermination(voteDetermination1);
propositionDetermination.ajouterVoteDetermination(voteDetermination2);
propositionDetermination.ajouterVoteDetermination(voteDetermination3);
propositionDetermination.ajouterVoteDetermination(voteDetermination4);
PropositionDetermination propositionDetermination2 = new PropositionDetermination(new Observation());
propositionDetermination2.setEspece("Iris urticans");
81,7 → 77,6
propositionDetermination2.ajouterVoteDetermination(voteDetermination1);
propositionDetermination2.ajouterVoteDetermination(voteDetermination2);
propositionDetermination2.ajouterVoteDetermination(voteDetermination3);
propositionDetermination2.ajouterVoteDetermination(voteDetermination5);
List<PropositionDetermination> listePropositions = new ArrayList<PropositionDetermination>();
listePropositions.add(propositionDetermination2);
91,7 → 86,7
.calculerVoteDeterminationPlusPopulaire(listePropositions);
 
// le premier vote est sensé être celui qui possède le plus gros score
assertTrue(listeMoyenneVote.get(0).getIntituleAssocie().equals("Iris lutescens subsp. lutescens"));
assertTrue(listeMoyenneVote.get(0).getIntituleAssocie().equals("Iris urticans"));
}
 
}