package br.com.dextra.dextranet.utils; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import org.junit.Assert; import org.junit.Test; import br.com.dextra.dextranet.rest.config.Application; import com.google.appengine.repackaged.org.joda.time.DateTime; import com.google.appengine.repackaged.org.joda.time.DateTimeZone; public class TimeMachineTest { private TimeMachine timeMachine = new TimeMachine(); private final DateTimeZone zone = DateTimeZone.forID(Application.TIMEZONE_SAO_PAULO); @Test public void testaFormataData() { // no gregorian calendar o mes eh de 0 a 11 Calendar calendar = new GregorianCalendar(2013, 3, 10, 10, 12, 00); Assert.assertEquals("10/04/2013 10:12:00", timeMachine.formataData(calendar.getTime())); } @Test public void testaTransformaEmDataSimples() { // no gregorian calendar o mes eh de 0 a 11 Calendar calendar = new GregorianCalendar(2013, 3, 10); Assert.assertEquals(calendar.getTime(), timeMachine.transformaEmData("10/04/2013")); } @Test public void testaTransformaEmDataCompleta() { // no gregorian calendar o mes eh de 0 a 11 Calendar calendar = new GregorianCalendar(2013, 3, 10, 10, 12, 00); Assert.assertEquals(calendar.getTime(), timeMachine.transformaEmData("10/04/2013 10:12:00")); } @Test public void testaInicioDoDia() { DateTime dateTime = new DateTime(2013, 03, 10, 15, 20, 00); dateTime = dateTime.withZone(zone); Date inicioDoDia = timeMachine.inicioDoDia(dateTime.toLocalDateTime().toDateTime().toDate()); Assert.assertEquals("10/03/2013 00:00:00", timeMachine.formataData(inicioDoDia)); } @Test public void testaFimDoDia() { DateTime dateTime = new DateTime(2013, 03, 10, 15, 20, 00); dateTime = dateTime.withZone(zone); Date fimDoDia = timeMachine.fimDoDia(dateTime.toLocalDateTime().toDateTime().toDate()); Assert.assertEquals("10/03/2013 23:59:59", timeMachine.formataData(fimDoDia)); } @Test public void testaDiasPraFrente() { Date dataBase = timeMachine.transformaEmData("10/04/2013 00:00:00"); Date diasPraFrente = timeMachine.diasParaFrente(dataBase, 5); Assert.assertEquals("15/04/2013 00:00:00", timeMachine.formataData(diasPraFrente)); } @Test public void testaDiasPraTras() { Date dataBase = timeMachine.transformaEmData("10/04/2013 00:00:00"); Date diasPraTras = timeMachine.diasParaAtras(dataBase, 5); Assert.assertEquals("05/04/2013 00:00:00", timeMachine.formataData(diasPraTras)); } }