TimeConverterTest.java :  » Build » cruisecontrol » net » sourceforge » cruisecontrol » dashboard » utils » Java Open Source

Java Open Source » Build » cruisecontrol 
cruisecontrol » net » sourceforge » cruisecontrol » dashboard » utils » TimeConverterTest.java
package net.sourceforge.cruisecontrol.dashboard.utils;

import junit.framework.TestCase;

import org.apache.commons.lang.StringUtils;
import org.joda.time.DateTime;

public class TimeConverterTest extends TestCase {
    private TimeConverter timeConverter;

    protected void setUp() throws Exception {
        this.timeConverter = new TimeConverter();
    }

    public void testShouldReturn() {
        DateTime now = new DateTime();
        DateTime yesterday = now.minusDays(1);
        assertEquals(CCDateFormatter.getDateStringInHumanBeingReadingStyle(now), timeConverter
                .getConvertedTime(now.toDate(), yesterday.toDate()));
    }

    public void testShouldReportLessThanOneMinutesFor0To29Seconds() {
        assertEquals(TimeConverter.LESS_THAN_A_MINUTE, timeConverter.getConvertedTime(29));
    }

    public void testShouldReportOneMinuteFor30Seconds() {
        assertEquals(TimeConverter.FROM_1_MINUTE, timeConverter.getConvertedTime(30));
    }

    public void testShouldReportOneMinuteFor89Seconds() {
        assertEquals(TimeConverter.FROM_1_MINUTE, timeConverter.getConvertedTime(89));
    }

    public void testShouldReport2To44MinutesFor90Seconds() {
        assertEquals(StringUtils.replace(TimeConverter.FROM_2_TO_44_MINUTES, "$time", "2"), timeConverter
                .getConvertedTime(1 * 60 + 30));
    }

    public void testShouldReport1DayFor45Mintues() {
        assertEquals(TimeConverter.ABOUT_1_HOUR, timeConverter.getConvertedTime(45 * 60));
    }

    public void testShouldReport44MinutesFor44Minutes29Seconds() throws Exception {
        assertEquals(StringUtils.replace(TimeConverter.FROM_2_TO_44_MINUTES, "$time", "44"), timeConverter
                .getConvertedTime(44 * 60 + 29));
    }

    public void testShouldReportAbout1HourFor44Minutes30Seconds() throws Exception {
        assertEquals(TimeConverter.ABOUT_1_HOUR, timeConverter.getConvertedTime(44 * 60 + 30));
    }

    public void testShouldReportAbout1HourFor89Minutes29Seconds() throws Exception {
        assertEquals(TimeConverter.ABOUT_1_HOUR, timeConverter.getConvertedTime(89 * 60 + 29));
    }

    public void testShouldReportAbout2HoursHourFor89Minutes30Seconds() throws Exception {
        assertEquals(StringUtils.replace(TimeConverter.ABOUT_2_TO_24_HOURS, "$time", "2"), timeConverter
                .getConvertedTime(1 * TimeConverter.HOUR_IN_SECONDS + 29 * 60 + 30));
    }

    public void testShouldReport23HoursFor23Hours59Minutes29Seconds() throws Exception {
        assertEquals(StringUtils.replace(TimeConverter.ABOUT_2_TO_24_HOURS, "$time", "23"), timeConverter
                .getConvertedTime(24 * TimeConverter.HOUR_IN_SECONDS - 31));
    }

    public void testShouldReportAbout1DayFor23Hours59Minutes30Seconds() throws Exception {
        assertEquals(TimeConverter.ABOUT_1_DAY, timeConverter.getConvertedTime(23 * 60 * 60 + 59 * 60 + 30));
    }

    public void testShouldReportAbout1DayFor47Hours59Minutes29Seconds() throws Exception {
        assertEquals(TimeConverter.ABOUT_1_DAY, timeConverter.getConvertedTime(47 * 60 * 60 + 59 * 60 + 29));
    }

    public void testShouldReport2DaysFor47Hours59Minutes29Seconds() throws Exception {
        assertEquals(StringUtils.replace(TimeConverter.FROM_2_TO_29_DAYS, "$time", "2"), timeConverter
                .getConvertedTime(2 * TimeConverter.DAY_IN_SECONDS - 30));
    }

    public void testShouldReport29DaysFor29Days23Hours59Minutes29Seconds() throws Exception {
        assertEquals(StringUtils.replace(TimeConverter.FROM_2_TO_29_DAYS, "$time", "29"), timeConverter
                .getConvertedTime(30 * TimeConverter.DAY_IN_SECONDS - 31));
    }

    public void testShouldReportAbout1MonthFor29Days23Hours59Minutes30Seconds() throws Exception {
        assertEquals(TimeConverter.ABOUT_1_MONTH, timeConverter.getConvertedTime(29
                * TimeConverter.DAY_IN_SECONDS + 23 * 60 * 60 + 59 * 60 + 30));
    }

    public void testShouldReportAbout1MonthFor59Days23Hours59Minutes29Seconds() throws Exception {
        assertEquals(TimeConverter.ABOUT_1_MONTH, timeConverter.getConvertedTime(59
                * TimeConverter.DAY_IN_SECONDS + 23 * 60 * 60 + 59 * 60 + 29));
    }

    public void testShouldReport2MonthsFor59Days23Hours59Minutes30Seconds() throws Exception {
        assertEquals(StringUtils.replace(TimeConverter.FROM_2_TO_12_MONTHS, "$time", "2"), timeConverter
                .getConvertedTime(60 * TimeConverter.DAY_IN_SECONDS - 30));
    }

    public void testShouldReport12MonthsFor59Days23Hours59Minutes30Seconds() throws Exception {
        assertEquals(StringUtils.replace(TimeConverter.FROM_2_TO_12_MONTHS, "$time", "12"), timeConverter
                .getConvertedTime(365 * TimeConverter.DAY_IN_SECONDS - 31));
    }

    public void testShouldReportAbout1YearFor1YearMinus30Seconds() throws Exception {
        assertEquals(TimeConverter.ABOUT_1_YEAR, timeConverter
                .getConvertedTime(365 * TimeConverter.DAY_IN_SECONDS - 30));
    }

    public void testShouldReportAbout1YearFor2YearsMinus31Seconds() throws Exception {
        assertEquals(TimeConverter.ABOUT_1_YEAR, timeConverter
                .getConvertedTime(2 * 365 * TimeConverter.DAY_IN_SECONDS - 31));
    }

    public void testShouldReturnTimeUnitAsYearsWhenDurationIsLargerThan2Years() throws Exception {
        assertEquals(StringUtils.replace(TimeConverter.OVER_2_YEARS, "$time", "2"), timeConverter
                .getConvertedTime(2 * 365 * TimeConverter.DAY_IN_SECONDS - 30));
    }

    public void testShouldReturnTimeUnitAsYearsWhenDurationIsLargerThan3Years() throws Exception {
        assertEquals(StringUtils.replace(TimeConverter.OVER_2_YEARS, "$time", "3"), timeConverter
                .getConvertedTime(3 * 365 * TimeConverter.DAY_IN_SECONDS + 2 * TimeConverter.DAY_IN_SECONDS));
    }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.