Subversion Repositories eFlore/Applications.del

Rev

Rev 307 | 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.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();
        propositionDetermination.setAuteur("Aurélien");
        propositionDetermination.setId("5");
        dateInitiale = new Date();
        propositionDetermination.setDate(dateInitiale);
        commentaireInitial = new Commentaire("Aurélien", 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.getAuteur());
        }

        @Test
        public void testSetContributeur() {
                propositionDetermination.setAuteur("Grégoire");
                assertEquals("Grégoire", propositionDetermination.getAuteur());
        }

        @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).getAuteur());
        }

        @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());
                Commentaire nouveauCommentaire = new Commentaire("Grégoire", new Date(), "Rochonner c'est bien !");
                propositionDetermination.ajouterCommentaire(nouveauCommentaire);
                assertEquals(2, propositionDetermination.getListeCommentaires().size());
                assertEquals("Grégoire", propositionDetermination.getListeCommentaires().get(1).getAuteur());
        }

        @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());
        }

}