Rev 838 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.test.modeles;
import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import org.tela_botanica.del.client.modeles.Commentaire;
import org.tela_botanica.del.client.modeles.Contributeur;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.modeles.PropositionDetermination;
import org.tela_botanica.del.client.modeles.VoteDetermination;
public class PropositionDeterminationTest {
PropositionDetermination propositionDetermination;
VoteDetermination voteDetermination1;
Commentaire commentaireInitial;
Date dateInitiale;
ArrayList<Commentaire> commentairesInitiaux = new ArrayList<Commentaire>();
Map<String, VoteDetermination> votesDeterminationsInitiaux = new HashMap<String, VoteDetermination>();
@Before
public void setUp() {
propositionDetermination = new PropositionDetermination(new Observation());
Contributeur contributeur = new Contributeur("1", "peronnet", "Aurélien", "aurelien@tela-botanica.org");
propositionDetermination.setContributeur(contributeur);
propositionDetermination.setId("5");
dateInitiale = new Date();
propositionDetermination.setDate(dateInitiale);
commentaireInitial = new Commentaire(contributeur, new Date(), "Oui c'est interessant");
commentairesInitiaux.add(commentaireInitial);
propositionDetermination.setListeCommentaires(commentairesInitiaux);
propositionDetermination.setEspece("Acer monsp. L.");
voteDetermination1 = new VoteDetermination();
voteDetermination1.setVote(1);
voteDetermination1.setDate(new Date());
voteDetermination1.setContributeur("benjamin");
votesDeterminationsInitiaux.put("benjamin", voteDetermination1);
propositionDetermination.setVotesDeterminations(votesDeterminationsInitiaux);
}
@Test
public void testAjouterVoteDetermination() {
assertEquals(1, propositionDetermination.getVotesDeterminations().size());
VoteDetermination voteDeterminationTest = new VoteDetermination();
voteDeterminationTest.setVote(1);
voteDeterminationTest.setDate(new Date());
voteDeterminationTest.setContributeur("gregoire");
propositionDetermination.ajouterVoteDetermination(voteDeterminationTest);
assertEquals(2, propositionDetermination.getVotesDeterminations().size());
VoteDetermination voteDeterminationTest2 = new VoteDetermination();
voteDeterminationTest2.setVote(0);
voteDeterminationTest2.setDate(new Date());
voteDeterminationTest2.setContributeur("gregoire");
propositionDetermination.ajouterVoteDetermination(voteDeterminationTest2);
// la taille ne doit pas avoir changé après l'ajout du vote de Grégoire car le contributeur
// est la clé la map (i.e. 1 vote par personne pour une determination)
assertEquals(2, propositionDetermination.getVotesDeterminations().size());
assertEquals(0, propositionDetermination.getVotesDeterminations().get("gregoire").getVote());
}
@Test
public void testGetContributeur() {
assertEquals("Aurélien", propositionDetermination.getContributeur().getPrenom());
}
@Test
public void testSetContributeur() {
Contributeur contributeurTest = new Contributeur("1", "duche", "gregoire", "gregoire@tela-botanica.org");
propositionDetermination.setContributeur(contributeurTest);
assertEquals("gregoire", propositionDetermination.getContributeur().getPrenom());
}
@Test
public void testGetId() {
assertEquals("5", propositionDetermination.getId());
}
@Test
public void testSetId() {
propositionDetermination.setId("325");
assertEquals("325", propositionDetermination.getId());
}
@Test
public void testGetDate() {
assertEquals(dateInitiale, propositionDetermination.getDate());
}
@Test
public void testSetDate() {
Date dateTest = new Date();
propositionDetermination.setDate(dateTest);
assertEquals(dateTest, propositionDetermination.getDate());
}
@Test
public void testGetCommentaires() {
assertEquals(1, propositionDetermination.getListeCommentaires().size());
assertEquals("Aurélien", propositionDetermination.getListeCommentaires().get(0).getContributeur().getPrenom());
}
@Test
public void testSetCommentaires() {
ArrayList<Commentaire> listeVide = new ArrayList<Commentaire>();
propositionDetermination.setListeCommentaires(listeVide);
assertEquals(0, propositionDetermination.getListeCommentaires().size());
}
@Test
public void testAjouterCommentaire() {
propositionDetermination.setListeCommentaires(commentairesInitiaux);
assertEquals(1, propositionDetermination.getListeCommentaires().size());
Contributeur contributeur = new Contributeur("1", "Peronnet", "Aurélien", "aurelien@tela-botanica.org");
Commentaire nouveauCommentaire = new Commentaire(contributeur, new Date(), "Tout est beau, tout est joyeux, je suis une fleur");
propositionDetermination.ajouterCommentaire(nouveauCommentaire);
assertEquals(2, propositionDetermination.getListeCommentaires().size());
assertEquals("Aurélien", propositionDetermination.getListeCommentaires().get(1).getContributeur().getPrenom());
}
@Test
public void testGetEspece() {
assertEquals("Acer monsp. L.", propositionDetermination.getEspece());
}
@Test
public void testSetEspece() {
propositionDetermination.setEspece("Acer monsp. subsp. monsp.");
assertEquals("Acer monsp. subsp. monsp.", propositionDetermination.getEspece());
}
@Test
public void testGetVotesDeterminations() {
assertEquals(1, propositionDetermination.getVotesDeterminations().size());
assertEquals(voteDetermination1, propositionDetermination.getVotesDeterminations().get("benjamin"));
}
@Test
public void testSetVotesDeterminations() {
HashMap<String, VoteDetermination> votesDeterminationVides = new HashMap<String, VoteDetermination>();
propositionDetermination.setVotesDeterminations(votesDeterminationVides);
assertEquals(0,propositionDetermination.getVotesDeterminations().size());
}
}