/** * Copyright (C) 2008-2010, Squale Project - http://www.squale.org * * This file is part of Squale. * * Squale is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of the * License, or any later version. * * Squale is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Squale. If not, see <http://www.gnu.org/licenses/>. */ package org.squale.squalix.util.stoptime; import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; import org.squale.jraf.commons.exception.JrafEnterpriseException; import org.squale.squalecommon.SqualeTestCase; import org.squale.squalecommon.datatransfertobject.config.SqualixConfigurationDTO; import org.squale.squalecommon.datatransfertobject.config.StopTimeDTO; import org.squale.squalix.core.exception.ConfigurationException; /** */ public class StopTimeHelperTest extends SqualeTestCase { /** configuration squalix */ private SqualixConfigurationDTO mConf; /** m�thode set_up */ public void setUp() { try { super.setUp(); mConf = new SqualixConfigurationDTO(); StopTimeDTO stop1 = new StopTimeDTO(); stop1.setDay( "Monday" ); stop1.setTime( "04:00" ); StopTimeDTO stop2 = new StopTimeDTO(); stop2.setDay( "Tuesday" ); stop2.setTime( "04:00" ); StopTimeDTO stop3 = new StopTimeDTO(); stop3.setDay( "Wednesday" ); stop3.setTime( "04:00" ); StopTimeDTO stop4 = new StopTimeDTO(); stop4.setDay( "Thursday" ); stop4.setTime( "04:00" ); StopTimeDTO stop5 = new StopTimeDTO(); stop5.setDay( "Friday" ); stop5.setTime( "04:00" ); Collection col = new ArrayList(); col.add( stop1 ); col.add( stop2 ); col.add( stop3 ); col.add( stop4 ); col.add( stop5 ); mConf.setStopTimes( col ); } catch ( JrafEnterpriseException e ) { e.printStackTrace(); } catch ( Exception e ) { e.printStackTrace(); } } /** * test pour v�rifier que le stopTimeHelper fonctionne correctement */ public void testStopTimeHelper() { try { Calendar cal = Calendar.getInstance(); final int year = 2006; final int day = 6; final int hour = 20; cal.set( year, Calendar.OCTOBER, day, hour, 0, 0 ); // vendredi 6 octobre 2006 20:00:00 cal.set( Calendar.HOUR_OF_DAY, hour ); cal.set( Calendar.MINUTE, 0 ); cal.set( Calendar.SECOND, 0 ); // Cas 1 on se place � la fin de la semaine, la date d'arr�t attendue est // le lundi suivant StopTimeHelper stop; stop = new StopTimeHelper( mConf, cal ); Calendar limitCal = stop.getLimitCal(); assertEquals( 9, limitCal.get( Calendar.DAY_OF_MONTH ) ); assertEquals( 4, limitCal.get( Calendar.HOUR_OF_DAY ) ); assertEquals( 0, limitCal.get( Calendar.MINUTE ) ); // Cas 2 on se place le lundi 09/10/2006 � 03:59 cal.set( Calendar.DAY_OF_MONTH, 9 ); cal.set( Calendar.HOUR_OF_DAY, 3 ); cal.set( Calendar.MINUTE, 59 ); stop = new StopTimeHelper( mConf, cal ); limitCal = stop.getLimitCal(); assertEquals( 9, limitCal.get( Calendar.DAY_OF_MONTH ) ); assertEquals( 4, limitCal.get( Calendar.HOUR_OF_DAY ) ); assertEquals( 0, limitCal.get( Calendar.MINUTE ) ); // Cas 2 on se place le lundi � 04:00 cal.set( Calendar.HOUR_OF_DAY, 4 ); cal.set( Calendar.MINUTE, 1 ); stop = new StopTimeHelper( mConf, cal ); limitCal = stop.getLimitCal(); assertEquals( 10, limitCal.get( Calendar.DAY_OF_MONTH ) ); assertEquals( 4, limitCal.get( Calendar.HOUR_OF_DAY ) ); assertEquals( 0, limitCal.get( Calendar.MINUTE ) ); } catch ( ConfigurationException e ) { e.printStackTrace(); fail( "unexpected exception" ); } } }