package com.neverwinterdp.scribengin.partitioner; import static org.junit.Assert.assertEquals; import java.util.Calendar; import org.junit.Test; public class DatePartitionerTest { @Test public void testDatePartitionerGetPartition(){ DatePartitioner d = new DatePartitioner("yy/MM/dd"); String year = Integer.toString(Calendar.getInstance().get(Calendar.YEAR)).substring(2); //For whatever reason, months in the Calendar class start at @#$%ing zero String month = Integer.toString(Calendar.getInstance().get(Calendar.MONTH)+1); String day = Integer.toString(Calendar.getInstance().get(Calendar.DAY_OF_MONTH)); if(day.length() == 1){ day = "0"+day; } assertEquals(year+"/"+month+"/"+day,d.getPartition()); } @Test public void testDatePartitionerGetPartition2(){ DatePartitioner d = new DatePartitioner("yyyy/MM/dd/HH/mm/ss"); String year = Integer.toString(Calendar.getInstance().get(Calendar.YEAR)); //For whatever reason, months in the Calendar class start at @#$%ing zero String month = Integer.toString(Calendar.getInstance().get(Calendar.MONTH)+1); String day = Integer.toString(Calendar.getInstance().get(Calendar.DAY_OF_MONTH)); if(day.length() == 1){ day = "0"+day; } String hour = Integer.toString(Calendar.getInstance().get(Calendar.HOUR_OF_DAY)); if(hour.length() == 1){ hour = "0"+hour; } String min = Integer.toString(Calendar.getInstance().get(Calendar.MINUTE)); if(min.length() == 1){ min = "0"+min; } //Hopefully this gets completed within a second for the assertion to work String sec = Integer.toString(Calendar.getInstance().get(Calendar.SECOND)); if(sec.length() == 1){ sec = "0"+sec; } assertEquals(year+"/"+month+"/"+day+"/"+hour+"/"+min+"/"+sec,d.getPartition()); } @Test public void testDatePartitionerGetRefreshYear(){ DatePartitioner d = new DatePartitioner("yyyy"); Calendar year = Calendar.getInstance(); year.set(Calendar.MILLISECOND, 0); year.set(Calendar.SECOND, 0); year.set(Calendar.MINUTE, 0); year.set(Calendar.HOUR_OF_DAY, 0); year.set(Calendar.DAY_OF_YEAR, 1); year.set(Calendar.MONTH, 0); year.add(Calendar.YEAR, 1); assertEquals(year.getTime(),d.getRefresh()); } @Test public void testDatePartitionerGetRefreshMonth(){ DatePartitioner d = new DatePartitioner("MM/yyyy"); Calendar year = Calendar.getInstance(); year.set(Calendar.MILLISECOND, 0); year.set(Calendar.SECOND, 0); year.set(Calendar.MINUTE, 0); year.set(Calendar.HOUR_OF_DAY, 0); year.set(Calendar.DAY_OF_MONTH, 1); year.add(Calendar.MONTH, 1); assertEquals(year.getTime(),d.getRefresh()); } @Test public void testDatePartitionerGetRefreshDay(){ DatePartitioner d = new DatePartitioner("dd/MM/yy"); Calendar year = Calendar.getInstance(); year.set(Calendar.MILLISECOND, 0); year.set(Calendar.SECOND, 0); year.set(Calendar.MINUTE, 0); year.set(Calendar.HOUR_OF_DAY, 0); year.add(Calendar.DAY_OF_YEAR, 1); assertEquals(year.getTime(),d.getRefresh()); } @Test public void testDatePartitionerGetRefreshHour(){ DatePartitioner d = new DatePartitioner("HH/dd/MM/yy"); Calendar year = Calendar.getInstance(); year.set(Calendar.MILLISECOND, 0); year.set(Calendar.SECOND, 0); year.set(Calendar.MINUTE, 0); year.add(Calendar.HOUR_OF_DAY, 1); assertEquals(year.getTime(),d.getRefresh()); } @Test public void testDatePartitionerGetRefreshMinute(){ DatePartitioner d = new DatePartitioner("mm/HH/dd/MM/yy"); Calendar year = Calendar.getInstance(); year.set(Calendar.MILLISECOND, 0); year.set(Calendar.SECOND, 0); year.add(Calendar.MINUTE, 1); assertEquals(year.getTime(),d.getRefresh()); } @Test public void testDatePartitionerGetRefreshSecond(){ DatePartitioner d = new DatePartitioner("ss/mm/HH/dd/MM/yy"); Calendar year = Calendar.getInstance(); year.set(Calendar.MILLISECOND, 0); year.add(Calendar.SECOND, 1); assertEquals(year.getTime(),d.getRefresh()); } @Test public void testDatePartitionerGetRefreshMilliSecond(){ DatePartitioner d = new DatePartitioner("SS/ss/mm/HH/dd/MM/yy"); Calendar year = Calendar.getInstance(); year.add(Calendar.MILLISECOND, 1); //assertEquals(year.getTime(),d.getRefresh()); } }