/*
* Copyright 2011 Objectos, Fábrica de Software LTDA.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package br.com.objectos.comuns.relational.search;
import static org.testng.Assert.*;
import org.testng.annotations.Test;
import br.com.objectos.comuns.relational.search.Pagina;
import br.com.objectos.comuns.relational.search.PaginaImpl;
import br.com.objectos.comuns.relational.search.Paginador;
import br.com.objectos.comuns.relational.search.PaginadorImpl;
/**
* @author marcio.endo@objectos.com.br (Marcio Endo)
*/
@Test
public class TesteDePaginador {
public void verifiqueAnteriorExiste() {
Paginador paginador = novoPaginador(51, 50, 100);
assertTrue(paginador.isAnteriorExiste());
}
public void verifiqueAnteriorNaoExiste() {
Paginador paginador = novoPaginador(49, 50, 100);
assertFalse(paginador.isAnteriorExiste());
}
public void verifiqueAnteriorNaoExiste0() {
Paginador paginador = novoPaginador(49, 50, 100);
assertFalse(paginador.isAnteriorExiste());
}
public void verifiqueProximaExiste() {
Paginador paginador = novoPaginador(9, 10, 19);
assertTrue(paginador.isProximaExiste());
}
public void verifiqueProximaNaoExiste() {
Paginador paginador = novoPaginador(10, 10, 19);
assertFalse(paginador.isProximaExiste());
}
public void verifiqueProximaNaoExiste0() {
Paginador paginador = novoPaginador(18, 10, 19);
assertFalse(paginador.isProximaExiste());
}
public void verifiqueProximaNaoExisteComTamanhoDePaginaIgualAoDeRegistros() {
Paginador paginador = novoPaginador(9, 10, 10);
assertFalse(paginador.isProximaExiste());
}
public void verifiqueIndiceInicial() {
Paginador paginador = novoPaginador(18, 10, 19);
assertEquals(paginador.getIndiceInicial(), 19);
}
public void verifiqueIndiceInicial0() {
Paginador paginador = novoPaginador(0, 10, 19);
assertEquals(paginador.getIndiceInicial(), 1);
}
public void verifiqueIndiceFinal() {
Paginador paginador = novoPaginador(0, 10, 21);
assertEquals(paginador.getIndiceFinal(), 10);
}
public void verifiquePaginaAtualUnica() {
Paginador paginador = novoPaginador(0, 10, 7);
assertEquals(paginador.getPaginaAtual(), 0);
}
public void verifiquePaginaAtualPrimeiraEmVarias() {
Paginador paginador = novoPaginador(0, 10, 31);
assertEquals(paginador.getPaginaAtual(), 0);
}
public void verifiquePaginaAtualSegundaEmDuasExatas() {
Paginador paginador = novoPaginador(14, 10, 20);
assertEquals(paginador.getPaginaAtual(), 1);
}
public void verifiqueTotalDePaginasUnica() {
Paginador paginador = novoPaginador(0, 10, 7);
assertEquals(paginador.getTotalDePaginas(), 1);
}
public void verifiqueTotalDePaginasInteirasExato() {
Paginador paginador = novoPaginador(0, 10, 20);
assertEquals(paginador.getTotalDePaginas(), 2);
}
public void verifiqueTotalDePaginasComParcial() {
Paginador paginador = novoPaginador(0, 10, 21);
assertEquals(paginador.getTotalDePaginas(), 3);
}
private Paginador novoPaginador(int primeiro, int tamanho, int total) {
Pagina pagina = new PaginaImpl(primeiro, tamanho);
return new PaginadorImpl(pagina, total);
}
}