net.seratch.taskun.util.CalendarUtil.java Source code

Java tutorial

Introduction

Here is the source code for net.seratch.taskun.util.CalendarUtil.java

Source

import java.util.Calendar;
    import java.util.logging.Logger;

/**
 * {@link java.util.Calendar} utilities
 * 
 * @author Kazuhiro Sera
 */
public final class CalendarUtil {
   public static Calendar testData;

   public static Calendar getCurrentTime() {
      if (testData != null) {
         Calendar result = deepCopy(testData);
         testData = null;
         return result;
      } else {
         return Calendar.getInstance();
      }
   }

   public static Calendar getCurrentTruncDate() {
      return dateTrunc(getCurrentTime());
   }

   public static Integer getYear(Calendar calendar) {
      Integer year = calendar.get(Calendar.YEAR);
      return year;
   }

   public static Integer getMonth(Calendar calendar) {
      Integer month = calendar.get(Calendar.MONTH) + 1;
      return month;
   }

   public static Integer getDay(Calendar calendar) {
      Integer day = calendar.get(Calendar.DATE);
      return day;
   }

   public static Integer getDayOfWeekNumber(Calendar cal) {
      return cal.get(Calendar.DAY_OF_WEEK);
   }

   public static Integer get24Hour(Calendar calendar) {
      Integer hour = calendar.get(Calendar.HOUR_OF_DAY);
      return hour;
   }

   public static Integer getMinute(Calendar calendar) {
      Integer minute = calendar.get(Calendar.MINUTE);
      return minute;
   }

   public static Integer getSecond(Calendar calendar) {
      Integer second = calendar.get(Calendar.SECOND);
      return second;
   }

   public static Integer getMillisecond(Calendar calendar) {
      Integer millisecond = calendar.get(Calendar.MILLISECOND);
      return millisecond;
   }

   public static Calendar getCalendar(String yyyy, String mm, String dd) {
      Calendar cal = Calendar.getInstance();
      cal.set(Calendar.YEAR, Integer.valueOf(yyyy));
      cal.set(Calendar.MONTH, Integer.valueOf(mm) - 1);
      cal.set(Calendar.DATE, Integer.valueOf(dd));
      cal.set(Calendar.HOUR_OF_DAY, 0);
      cal.set(Calendar.MINUTE, 0);
      cal.set(Calendar.SECOND, 0);
      cal.set(Calendar.MILLISECOND, 0);
      return cal;
   }

   public static Calendar getCalendar(int yyyy, int mm, int dd) {
      Calendar cal = Calendar.getInstance();
      cal.set(Calendar.YEAR, yyyy);
      cal.set(Calendar.MONTH, mm - 1);
      cal.set(Calendar.DATE, dd);
      cal.set(Calendar.HOUR_OF_DAY, 0);
      cal.set(Calendar.MINUTE, 0);
      cal.set(Calendar.SECOND, 0);
      cal.set(Calendar.MILLISECOND, 0);
      return cal;
   }

   public static Calendar getCalendar(String yyyy, String mm, String dd,
         String hh, String mi, String ss) {
      Calendar cal = getCalendar(yyyy, mm, dd);
      cal.set(Calendar.HOUR_OF_DAY, Integer.valueOf(hh));
      cal.set(Calendar.MINUTE, Integer.valueOf(mi));
      cal.set(Calendar.SECOND, Integer.valueOf(ss));
      return cal;
   }

   public static Calendar getCalendar(int yyyy, int mm, int dd, int hh,
         int mi, int ss) {
      Calendar cal = getCalendar(yyyy, mm, dd);
      cal.set(Calendar.HOUR_OF_DAY, hh);
      cal.set(Calendar.MINUTE, mi);
      cal.set(Calendar.SECOND, ss);
      return cal;
   }

   public static Calendar dateTrunc(Calendar calendar) {
      if (calendar == null) {
         return null;
      }
      Calendar date = (Calendar) calendar.clone();
      date.set(Calendar.HOUR_OF_DAY, 0);
      date.set(Calendar.MINUTE, 0);
      date.set(Calendar.SECOND, 0);
      date.set(Calendar.MILLISECOND, 0);
      return date;
   }

   public static boolean isFirstAfterSecond(Calendar first, Calendar second) {
      long firstValue = first.getTimeInMillis();
      long secondValue = second.getTimeInMillis();
      return (firstValue > secondValue) ? true : false;
   }

   public static Calendar deepCopy(Calendar src) {
      Calendar dest = Calendar.getInstance();
      dest.setTimeInMillis(src.getTimeInMillis());
      return dest;
   }

   public static Calendar addYears(Calendar src, int years) {
      Calendar dest = deepCopy(src);
      dest.add(Calendar.YEAR, years);
      return dest;
   }

   public static Calendar addMonths(Calendar src, int months) {
      Calendar dest = deepCopy(src);
      dest.add(Calendar.MONTH, months);
      return dest;
   }

   public static Calendar addDays(Calendar src, int days) {
      Calendar dest = deepCopy(src);
      dest.add(Calendar.DATE, days);
      return dest;
   }

   public static Calendar addHours(Calendar src, int hours) {
      Calendar dest = deepCopy(src);
      dest.add(Calendar.HOUR_OF_DAY, hours);
      return dest;
   }

   public static Calendar addMinutes(Calendar src, int minutes) {
      Calendar dest = deepCopy(src);
      dest.add(Calendar.MINUTE, minutes);
      return dest;
   }

   public static Calendar addSeconds(Calendar src, int seconds) {
      Calendar dest = deepCopy(src);
      dest.add(Calendar.SECOND, seconds);
      return dest;
   }

   public static Calendar getCalendar(long timeInMillis) {
      Calendar dest = Calendar.getInstance();
      dest.setTimeInMillis(timeInMillis);
      return dest;
   }

   public static String toYYYYMMDDHHMISS(Calendar calendar) {
      return String.format("%04d", getYear(calendar))
            + String.format("%02d", getMonth(calendar))
            + String.format("%02d", getDay(calendar))
            + String.format("%02d", get24Hour(calendar))
            + String.format("%02d", getMinute(calendar))
            + String.format("%02d", getSecond(calendar));
   }

}------package net.seratch.taskun.util;

    import java.util.Calendar;

    import junit.framework.TestCase;

    public class CalendarUtilTest extends TestCase {

        public void test_getYear_A$Calendar() throws Exception {
            Integer expected = 2009;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.YEAR, expected);
            Integer actual = CalendarUtil.getYear(arg0);
            assertEquals(expected, actual);
        }

        public void test_getYear_A$Calendar_1899() throws Exception {
            Integer expected = 1899;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.YEAR, expected);
            Integer actual = CalendarUtil.getYear(arg0);
            assertEquals(expected, actual);
        }

        public void test_getYear_A$Calendar_1900() throws Exception {
            Integer expected = 1900;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.YEAR, expected);
            Integer actual = CalendarUtil.getYear(arg0);
            assertEquals(expected, actual);
        }

        public void test_getYear_A$Calendar_2037() throws Exception {
            Integer expected = 2037;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.YEAR, expected);
            Integer actual = CalendarUtil.getYear(arg0);
            assertEquals(expected, actual);
        }

        public void test_getYear_A$Calendar_2038() throws Exception {
            Integer expected = 2038;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.YEAR, expected);
            Integer actual = CalendarUtil.getYear(arg0);
            assertEquals(expected, actual);
        }

        public void test_getMonth_A$Calendar() throws Exception {
            Integer expected = 10;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.MONTH, expected - 1);
            Integer actual = CalendarUtil.getMonth(arg0);
            assertEquals(expected, actual);
        }

        public void test_getMonth_A$Calendar_jun0() throws Exception {
            Integer expected = 1;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.MONTH, 0);
            Integer actual = CalendarUtil.getMonth(arg0);
            assertEquals(expected, actual);
        }

        public void test_getMonth_A$Calendar_jun12() throws Exception {
            Integer expected = 1;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.MONTH, 12);
            Integer actual = CalendarUtil.getMonth(arg0);
            assertEquals(expected, actual);
        }

        public void test_getMonth_A$Calendar_dec() throws Exception {
            Integer expected = 12;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.MONTH, 11);
            Integer actual = CalendarUtil.getMonth(arg0);
            assertEquals(expected, actual);
        }

        public void test_getDay_A$Calendar() throws Exception {
            Integer expected = 10;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.DATE, expected);
            Integer actual = CalendarUtil.getDay(arg0);
            assertEquals(expected, actual);
        }

        public void test_get24Hour_A$Calendar() throws Exception {
            Integer expected = 23;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.HOUR_OF_DAY, expected);
            Integer actual = CalendarUtil.get24Hour(arg0);
            assertEquals(expected, actual);
        }

        public void test_get24Hour_A$Calendar_0() throws Exception {
            Integer expected = 0;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.HOUR_OF_DAY, expected);
            Integer actual = CalendarUtil.get24Hour(arg0);
            assertEquals(expected, actual);
        }

        public void test_get24Hour_A$Calendar_24() throws Exception {
            Integer expected = 0;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.HOUR_OF_DAY, 24);
            Integer actual = CalendarUtil.get24Hour(arg0);
            assertEquals(expected, actual);
        }

        public void test_getMinute_A$Calendar() throws Exception {
            Integer expected = 59;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.MINUTE, expected);
            Integer actual = CalendarUtil.getMinute(arg0);
            assertEquals(expected, actual);
        }

        public void test_getMinute_A$Calendar_60() throws Exception {
            Integer expected = 0;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.MINUTE, 60);
            Integer actual = CalendarUtil.getMinute(arg0);
            assertEquals(expected, actual);
        }

        public void test_getMinute_A$Calendar_0() throws Exception {
            Integer expected = 0;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.MINUTE, expected);
            Integer actual = CalendarUtil.getMinute(arg0);
            assertEquals(expected, actual);
        }

        public void test_getSecond_A$Calendar() throws Exception {
            Integer expected = 33;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.SECOND, expected);
            Integer actual = CalendarUtil.getSecond(arg0);
            assertEquals(expected, actual);
        }

        public void test_getSecond_A$Calendar_60() throws Exception {
            Integer expected = 0;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.SECOND, 60);
            Integer actual = CalendarUtil.getSecond(arg0);
            assertEquals(expected, actual);
        }

        public void test_getSecond_A$Calendar_0() throws Exception {
            Integer expected = 0;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.SECOND, expected);
            Integer actual = CalendarUtil.getSecond(arg0);
            assertEquals(expected, actual);
        }

        public void test_getCalendar_A$String$String$String() throws Exception {
            long expected = 1262185200000L;
            String arg0 = "2009";
            String arg1 = "12";
            String arg2 = "31";
            Calendar actual = CalendarUtil.getCalendar(arg0, arg1, arg2);
            assertEquals(expected, actual.getTimeInMillis());
        }

        public void test_getCalendar_A$String$String$String$String$String$String() throws Exception {
            long expected = 1262271599000L;
            String arg0 = "2009";
            String arg1 = "12";
            String arg2 = "31";
            String arg3 = "23";
            String arg4 = "59";
            String arg5 = "59";
            Calendar actual = CalendarUtil.getCalendar(arg0, arg1, arg2, arg3, arg4, arg5);
            assertEquals(expected, actual.getTimeInMillis());
        }

        public void test_dateTrunc_A$Calendar() throws Exception {
            Calendar today = CalendarUtil.dateTrunc(Calendar.getInstance());
            assertEquals(0, today.get(Calendar.HOUR_OF_DAY));
            assertEquals(0, today.get(Calendar.MINUTE));
            assertEquals(0, today.get(Calendar.SECOND));
            assertEquals(0, today.get(Calendar.MILLISECOND));
        }

        public void test_getCurrentTime_A$() throws Exception {
            Calendar actual = CalendarUtil.getCurrentTime();
            assertNotNull(actual);
        }

        public void test_getCurrentTime_A$_testData() throws Exception {
            CalendarUtil.testData = Calendar.getInstance();
            Calendar actual = CalendarUtil.getCurrentTime();
            assertNotNull(actual);
            assertNull(CalendarUtil.testData);
        }

        public void test_getCurrentTruncDate_A$() throws Exception {
            Calendar actual = CalendarUtil.getCurrentTruncDate();
            assertEquals(0, actual.get(Calendar.HOUR));
            assertEquals(0, actual.get(Calendar.MINUTE));
            assertEquals(0, actual.get(Calendar.SECOND));
            assertEquals(0, actual.get(Calendar.MILLISECOND));
        }

        public void test_isFirstAfterSecond_A$Calendar$Calendar_true() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "3", "1");
            Calendar arg1 = CalendarUtil.getCalendar("2010", "2", "28");
            // when
            boolean actual = CalendarUtil.isFirstAfterSecond(arg0, arg1);
            // then
            boolean expected = true;
            assertEquals(expected, actual);
        }

        public void test_isFirstAfterSecond_A$Calendar$Calendar_false() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "3", "1");
            Calendar arg1 = CalendarUtil.getCalendar("2010", "2", "28");
            // when
            boolean actual2 = CalendarUtil.isFirstAfterSecond(arg1, arg0);
            // then
            boolean expected2 = false;
            assertEquals(expected2, actual2);
        }

        public void test_isFirstAfterSecond_A$Calendar$Calendar_same() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "3", "1");
            // when
            boolean actual3 = CalendarUtil.isFirstAfterSecond(arg0, arg0);
            // then
            boolean expected3 = false;
            assertEquals(expected3, actual3);
        }

        public void test_deepCopy_A$Calendar() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "3", "1");
            // when
            Calendar actual = CalendarUtil.deepCopy(arg0);
            // then
            actual.add(Calendar.SECOND, 1);
            assertNotSame(arg0, actual);
            assertTrue(CalendarUtil.isFirstAfterSecond(actual, arg0));
        }

        public void test_addYears_A$Calendar$int_plus() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "3", "1");
            // when
            Calendar actual = CalendarUtil.addYears(arg0, 1);
            // then
            assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());
            assertEquals((int) 2011, (int) CalendarUtil.getYear(actual));
        }

        public void test_addYears_A$Calendar$int_minus() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "3", "1");
            // when
            Calendar actual = CalendarUtil.addYears(arg0, -1);
            // then
            assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());
            assertEquals((int) 2009, (int) CalendarUtil.getYear(actual));
        }

        public void test_addMonths_A$Calendar$int_plus() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1");
            // when
            Calendar actual = CalendarUtil.addMonths(arg0, 1);
            // then
            assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());
            assertEquals((int) 3, (int) CalendarUtil.getMonth(actual));
        }

        public void test_addMonths_A$Calendar$int_minus() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1");
            // when
            Calendar actual = CalendarUtil.addMonths(arg0, -1);
            // then
            assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());
            assertEquals((int) 1, (int) CalendarUtil.getMonth(actual));
        }

        public void test_addDays_A$Calendar$int_plus() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "28");
            // when
            Calendar actual = CalendarUtil.addDays(arg0, 1);
            // then
            assertEquals((int) 3, (int) CalendarUtil.getMonth(actual));
            assertEquals((int) 1, (int) CalendarUtil.getDay(actual));
        }

        public void test_addDays_A$Calendar$int_minus() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "28");
            // when
            Calendar actual = CalendarUtil.addDays(arg0, -1);
            // then
            assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());
            assertEquals((int) 27, (int) CalendarUtil.getDay(actual));
        }

        public void test_addHours_A$Calendar$int_plus() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1", "22", "23", "34");
            // when
            Calendar actual = CalendarUtil.addHours(arg0, 1);
            // then
            assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());
            assertEquals((int) 23, (int) CalendarUtil.get24Hour(actual));
        }

        public void test_addHours_A$Calendar$int_minus() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1", "22", "23", "34");
            // when
            Calendar actual = CalendarUtil.addHours(arg0, -1);
            // then
            assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());
            assertEquals((int) 21, (int) CalendarUtil.get24Hour(actual));
        }

        public void test_addMinutes_A$Calendar$int_plus() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1", "22", "23", "34");
            // when
            Calendar actual = CalendarUtil.addMinutes(arg0, 1);
            // then
            assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());
            assertEquals((int) 24, (int) CalendarUtil.getMinute(actual));
        }

        public void test_addMinutes_A$Calendar$int_minus() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1", "22", "23", "34");
            // when
            Calendar actual = CalendarUtil.addMinutes(arg0, -1);
            // then
            assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());
            assertEquals((int) 22, (int) CalendarUtil.getMinute(actual));
        }

        public void test_addSeconds_A$Calendar$int_plus() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1", "22", "23", "34");
            // when
            Calendar actual = CalendarUtil.addSeconds(arg0, 1);
            // then
            assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());
            assertEquals((int) 35, (int) CalendarUtil.getSecond(actual));
        }

        public void test_addSeconds_A$Calendar$int_minus() throws Exception {
            // given
            Calendar arg0 = CalendarUtil.getCalendar("2010", "2", "1", "22", "23", "34");
            // when
            Calendar actual = CalendarUtil.addSeconds(arg0, -1);
            // then
            assertNotSame(arg0.getTimeInMillis(), actual.getTimeInMillis());
            assertEquals((int) 33, (int) CalendarUtil.getSecond(actual));
        }

        public void test_getMillisecond_A$Calendar() throws Exception {
            Integer expected = 234;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.MILLISECOND, expected);
            Integer actual = CalendarUtil.getMillisecond(arg0);
            assertEquals(expected, actual);
        }

        public void test_getMillisecond_A$Calendar_999() throws Exception {
            Integer expected = 999;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.MILLISECOND, expected);
            Integer actual = CalendarUtil.getMillisecond(arg0);
            assertEquals(expected, actual);
        }

        public void test_getMillisecond_A$Calendar_1000() throws Exception {
            Integer expected = 0;
            Calendar arg0 = Calendar.getInstance();
            arg0.set(Calendar.MILLISECOND, 1000);
            Integer actual = CalendarUtil.getMillisecond(arg0);
            assertEquals(expected, actual);
        }

        public void test_getCalendar_A$int$int$int() throws Exception {
            Calendar actual = CalendarUtil.getCalendar(2000, 2, 3);
            assertTrue(2000 == actual.get(Calendar.YEAR));
            assertTrue(1 == actual.get(Calendar.MONTH));
            assertTrue(3 == actual.get(Calendar.DATE));
        }

        public void test_getCalendar_A$int$int$int$int$int$int() throws Exception {
            Calendar actual = CalendarUtil.getCalendar(2000, 2, 3, 4, 5, 6);
            assertTrue(2000 == actual.get(Calendar.YEAR));
            assertTrue(1 == actual.get(Calendar.MONTH));
            assertTrue(3 == actual.get(Calendar.DATE));
            assertTrue(4 == actual.get(Calendar.HOUR));
            assertTrue(5 == actual.get(Calendar.MINUTE));
            assertTrue(6 == actual.get(Calendar.SECOND));
        }

        public void test_getDayOfWeekNumber_A$Calendar() throws Exception {
            assertEquals((int) 1, (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar("2010", "4", "18")));
            assertEquals((int) 2, (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar("2010", "4", "19")));
            assertEquals((int) 3, (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar("2010", "4", "20")));
            assertEquals((int) 4, (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar("2010", "4", "21")));
            assertEquals((int) 5, (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar("2010", "4", "22")));
            assertEquals((int) 6, (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar("2010", "4", "23")));
            assertEquals((int) 7, (int) CalendarUtil.getDayOfWeekNumber(CalendarUtil.getCalendar("2010", "4", "24")));
        }

        public void test_getCalendar_A$long() throws Exception {
            long arg0 = 12345L;
            Calendar actual = CalendarUtil.getCalendar(arg0);
            assertEquals(arg0, actual.getTimeInMillis());
        }

        public void test_toYYYYMMDDHHMISS_A$Calendar() throws Exception {
            Calendar arg0 = CalendarUtil.getCalendar("2010", "02", "3", "1", "2", "3");
            String actual = CalendarUtil.toYYYYMMDDHHMISS(arg0);
            String expected = "20100203010203";
            assertEquals(expected, actual);
        }

    }