Blame |
Last modification |
View Log
| Download
| RSS feed
package br.gov.al.saude.rhd.core.application;
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import br.gov.al.saude.rhd.core.application.ordenador.Ordenador;
import br.gov.al.saude.rhd.core.application.ordenador.impl.OrdenadorImpl;
public class OrdernadorImplTest
{
private Ordenador ordenadorImpl
;
private Integer PRIMEIRO_ELEMENTO =
1;
private Integer SEGUNDO_ELEMENTO =
2;
private Integer TERCEIRO_ELEMENTO =
3;
@Before
public void inicializarContexto
(){
ordenadorImpl =
new OrdenadorImpl
();
}
@Test
public void aoOrdernarListaDeveriaRetornarListaOrdenada
() {
List<ClasseParaOrdenar
> listaOrdenada =
(ArrayList<ClasseParaOrdenar
>) ordenadorImpl.
ordenar(gerarListaDesordenada
());
assertEquals
("Deveria retornar uma lista com 3 elementos",
3, listaOrdenada.
size());
assertEquals
("O primeiro elemento da lista deveria ser 1",
new Integer(PRIMEIRO_ELEMENTO
), listaOrdenada.
get(0).
ordem);
assertEquals
("O primeiro segundo da lista deveria ser 2",
new Integer(SEGUNDO_ELEMENTO
), listaOrdenada.
get(1).
ordem);
assertEquals
("O primeiro terceiro da lista deveria ser 3",
new Integer(TERCEIRO_ELEMENTO
), listaOrdenada.
get(2).
ordem);
}
private List<ClasseParaOrdenar
> gerarListaDesordenada
() {
List<ClasseParaOrdenar
> listaDesordenada =
new ArrayList<ClasseParaOrdenar
>();
listaDesordenada.
add(new ClasseParaOrdenar
(TERCEIRO_ELEMENTO
));
listaDesordenada.
add(new ClasseParaOrdenar
(PRIMEIRO_ELEMENTO
));
listaDesordenada.
add(new ClasseParaOrdenar
(SEGUNDO_ELEMENTO
));
return listaDesordenada
;
}
private class ClasseParaOrdenar
implements Comparable<ClasseParaOrdenar
> {
public ClasseParaOrdenar
(Integer ordem
) {
this.
ordem = ordem
;
}
public Integer ordem
;
@
Override
public int compareTo
(ClasseParaOrdenar outroObjeto
) {
return this.
ordem.
compareTo(outroObjeto.
ordem);
}
}
}