Package in.partake.view

Source Code of in.partake.view.HelperTest

package in.partake.view;

import in.partake.base.DateTime;
import in.partake.view.util.Helper;

import java.util.Calendar;
import java.util.Locale;
import java.util.TimeZone;

import junit.framework.Assert;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public final class HelperTest {
    private TimeZone defaultTimeZone;

    @Before
    public void setTimeZone() {
        defaultTimeZone = TimeZone.getDefault();
        TimeZone.setDefault(TimeZone.getTimeZone("Asia/Tokyo"));
    }

    @After
    public void resetTimeZone() {
        TimeZone.setDefault(defaultTimeZone);
    }

    // -----------------------------------------
    // readableDate
    @Test
    public void testReadableDateAtMorning() {
        DateTime date = createDate(2010, 1, 1, 9, 0);
        Assert.assertEquals("2010年1月1日(金) 09:00", Helper.readableDate(date));
    }

    @Test
    public void testReadableDateAtAfternoon() {
        DateTime date = createDate(2010, 1, 1, 15, 0);
        Assert.assertEquals("2010年1月1日(金) 15:00", Helper.readableDate(date));
    }

    @Test
    public void testReadableDateAtMidnight() {
        DateTime lastMin  = createDate(2010, 1, 1, 23, 59);
        Assert.assertEquals("2010年1月1日(金) 23:59", Helper.readableDate(lastMin));

        DateTime midnight = createDate(2010, 1, 1, 24, 0);
        Assert.assertEquals("2010年1月2日(土) 00:00", Helper.readableDate(midnight));
    }

    @Test
    public void testZeroSuppressed() {
        DateTime saturday  = createDate(2010, 01, 01, 11, 22);
        Assert.assertEquals("2010年1月1日(金) 11:22", Helper.readableDate(saturday));
    }

    @Test
    public void testZeropaddinged() {
        DateTime saturday  = createDate(0001, 12, 23, 00, 00);
        Assert.assertEquals("0001年12月23日(金) 00:00", Helper.readableDate(saturday));
    }

    @Test
    public void testReadableDateAllDaysOfWeek() {
        DateTime sunday    = createDate(2010, 12, 26, 00, 00);
        Assert.assertEquals("2010年12月26日(日) 00:00", Helper.readableDate(sunday));

        DateTime monday    = createDate(2010, 12, 27, 00, 00);
        Assert.assertEquals("2010年12月27日(月) 00:00", Helper.readableDate(monday));

        DateTime tuesday   = createDate(2010, 12, 28, 00, 00);
        Assert.assertEquals("2010年12月28日(火) 00:00", Helper.readableDate(tuesday));

        DateTime wednesday = createDate(2010, 12, 29, 00, 00);
        Assert.assertEquals("2010年12月29日(水) 00:00", Helper.readableDate(wednesday));

        DateTime thursday  = createDate(2010, 12, 30, 00, 00);
        Assert.assertEquals("2010年12月30日(木) 00:00", Helper.readableDate(thursday));

        DateTime friday    = createDate(2010, 12, 31, 00, 00);
        Assert.assertEquals("2010年12月31日(金) 00:00", Helper.readableDate(friday));

        DateTime saturday  = createDate(2011, 01, 01, 00, 00);
        Assert.assertEquals("2011年1月1日(土) 00:00", Helper.readableDate(saturday));
    }

    // -----------------------------------------
    // readableDuration
    @Test
    public void testReadableDuration1Day() {
        DateTime beginDate = createDate(2010, 1, 19, 0);
        DateTime endDate   = createDate(2010, 1, 1, 14, 0);
        Assert.assertEquals("2010年1月1日(金) 09:00 - 14:00", Helper.readableDuration(beginDate, endDate));
    }

    @Test
    public void testReadableDuration2Day() {
        DateTime beginDate = createDate(2010, 1, 1, 20, 0);
        DateTime endDate   = createDate(2010, 1, 2, 05, 0);
        Assert.assertEquals("2010年1月1日(金) 20:00 - 2010年1月2日(土) 05:00", Helper.readableDuration(beginDate, endDate));
    }

    @Test
    public void testReadableDuration1Month() {
        DateTime beginDate = createDate(2010, 1, 1, 20, 0);
        DateTime endDate   = createDate(2010, 2, 1, 20, 0);
        Assert.assertEquals("2010年1月1日(金) 20:00 - 2010年2月1日(月) 20:00", Helper.readableDuration(beginDate, endDate));
    }

    @Test
    public void testReadableDuration1Year() {
        DateTime beginDate = createDate(2010, 1, 1, 20, 0);
        DateTime endDate   = createDate(2011, 1, 1, 20, 0);
        Assert.assertEquals("2010年1月1日(金) 20:00 - 2011年1月1日(土) 20:00", Helper.readableDuration(beginDate, endDate));
    }

    private DateTime createDate(int year, int month, int day, int hour, int minute) {
        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("JST"), Locale.JAPANESE);
        calendar.clear();
        calendar.set(Calendar.YEAR, year);
        calendar.set(Calendar.MONTH, month - 1);
        calendar.set(Calendar.DAY_OF_MONTH, day);
        calendar.set(Calendar.HOUR_OF_DAY, hour);
        calendar.set(Calendar.MINUTE, minute);
        return new DateTime(calendar.getTime().getTime());
    }
}
TOP

Related Classes of in.partake.view.HelperTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.