Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package br.gov.al.saude.rhd.core.application;
2
 
3
import static org.junit.Assert.assertEquals;
4
 
5
import java.util.ArrayList;
6
import java.util.List;
7
 
8
import org.junit.Before;
9
import org.junit.Test;
10
 
11
import br.gov.al.saude.rhd.core.application.ordenador.Ordenador;
12
import br.gov.al.saude.rhd.core.application.ordenador.impl.OrdenadorImpl;
13
 
14
public class OrdernadorImplTest {
15
 
16
        private Ordenador ordenadorImpl;
17
        private Integer PRIMEIRO_ELEMENTO = 1;
18
        private Integer SEGUNDO_ELEMENTO = 2;
19
        private Integer TERCEIRO_ELEMENTO = 3;
20
 
21
        @Before
22
        public void inicializarContexto(){
23
                ordenadorImpl = new OrdenadorImpl();
24
        }
25
 
26
        @Test
27
        public void aoOrdernarListaDeveriaRetornarListaOrdenada() {
28
                List<ClasseParaOrdenar> listaOrdenada = (ArrayList<ClasseParaOrdenar>) ordenadorImpl.ordenar(gerarListaDesordenada());
29
 
30
                assertEquals("Deveria retornar uma lista com 3 elementos", 3, listaOrdenada.size());
31
                assertEquals("O primeiro elemento da lista deveria ser 1", new Integer(PRIMEIRO_ELEMENTO), listaOrdenada.get(0).ordem);
32
                assertEquals("O primeiro segundo da lista deveria ser 2", new Integer(SEGUNDO_ELEMENTO), listaOrdenada.get(1).ordem);
33
                assertEquals("O primeiro terceiro da lista deveria ser 3", new Integer(TERCEIRO_ELEMENTO), listaOrdenada.get(2).ordem);
34
        }
35
 
36
        private List<ClasseParaOrdenar> gerarListaDesordenada() {
37
                List<ClasseParaOrdenar> listaDesordenada = new ArrayList<ClasseParaOrdenar>();
38
                listaDesordenada.add(new ClasseParaOrdenar(TERCEIRO_ELEMENTO));
39
                listaDesordenada.add(new ClasseParaOrdenar(PRIMEIRO_ELEMENTO));
40
                listaDesordenada.add(new ClasseParaOrdenar(SEGUNDO_ELEMENTO));
41
                return listaDesordenada;
42
        }
43
 
44
        private class ClasseParaOrdenar implements Comparable<ClasseParaOrdenar> {
45
 
46
                public ClasseParaOrdenar(Integer ordem) {
47
                        this.ordem = ordem;
48
                }
49
 
50
                public Integer ordem;
51
 
52
                @Override
53
                public int compareTo(ClasseParaOrdenar outroObjeto) {
54
                        return this.ordem.compareTo(outroObjeto.ordem);
55
                }
56
        }
57
 
58
}