Package com.asakusafw.runtime.value

Examples of com.asakusafw.runtime.value.DateTime


                    int h = dateTimeCal.get(Calendar.HOUR_OF_DAY);
                    int min = dateTimeCal.get(Calendar.MINUTE);
                    int s = dateTimeCal.get(Calendar.SECOND);
                    int days = com.asakusafw.runtime.value.DateUtil.getDayFromDate(y, m + 1, d);
                    int secs = com.asakusafw.runtime.value.DateUtil.getSecondFromTime(h, min, s);
                    DateTime dt = new DateTime();
                    dt.setElapsedSeconds((long) days * 86400 + secs);
                    dateTimeOption.modify(dt);
                }
                modelClass.getMethod(name, DateTimeOption.class).invoke(model, dateTimeOption);
                break;
            case DATE:
View Full Code Here


        object.set("type_float", 300.f);
        object.set("type_double", 400.d);
        object.set("type_decimal", new BigDecimal("1234.567"));
        object.set("type_text", new Text("Hello, world!"));
        object.set("type_date", new Date(2011, 3, 31));
        object.set("type_datetime", new DateTime(2011, 3, 31, 23, 30, 1));

        DataOutputBuffer output = new DataOutputBuffer();
        ModelOutput<Object> modelOut = (ModelOutput<Object>) type.getAnnotation(ModelOutputLocation.class)
            .value()
            .getDeclaredConstructor(RecordEmitter.class)
View Full Code Here

            if (actualVal.isNull()) {
                fail(Type.NOT_IN_TESTING_TIME, expect, actual, expectVal, actualVal, columnInfo);
                return;
            }
            DateTimeOption dateTimeOption = (DateTimeOption) actualVal;
            DateTime dateTime = dateTimeOption.get();
            int y = dateTime.getYear();
            int m = dateTime.getMonth();
            int d = dateTime.getDay();
            int h = dateTime.getHour();
            int min = dateTime.getMinute();
            int s = dateTime.getSecond();
            cal.clear();
            cal.set(y, m - 1, d, h, min, s);
        } else {
            fail(Type.CONDITION_NOW_ON_INVALID_COLUMN, expect, actual, expectVal, actualVal, columnInfo);
            return;
View Full Code Here

            if (actualVal.isNull()) {
                fail(Type.NOT_IN_TEST_DAY, expect, actual, expectVal, actualVal, columnInfo);
                return;
            }
            DateTimeOption dateTimeOption = (DateTimeOption) actualVal;
            DateTime dateTime = dateTimeOption.get();
            int y = dateTime.getYear();
            int m = dateTime.getMonth();
            int d = dateTime.getDay();
            int h = dateTime.getHour();
            int min = dateTime.getMinute();
            int s = dateTime.getSecond();
            cal.clear();
            cal.set(y, m - 1, d, h, min, s);
        } else {
            fail(Type.CONDITION_TODAY_ON_INVALID_COLUMN, expect, actual, expectVal, actualVal, columnInfo);
            return;
View Full Code Here

        testField(list, "getCVcharOption", DATA.DATETIME_DATETIME_FIMT2, stringOption.modify("2010-10-01 12:01:18"));
        testField(list, "getCVcharOption", DATA.STRING_DATETIME, stringOption.modify("2010-10-01 12:01:18"));

        // C_DATETIMEのテスト
        DateTimeOption dateTimeOption = new DateTimeOption();
        DateTime dateTime = new DateTime();
        dateTimeOption.setNull();
        testField(list, "getCDatetimeOption", DATA.NUMERIC_0, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.NUMERIC_1, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.NUMERIC_MINUS1, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.NUMERIC_MAX, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.NUMERIC_MIN, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.NUMERIC_DECIMAL, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.NUMERIC_OVER_MAX, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.NUMERIC_UNDER_MIN, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.NUMERIC_BIG_VALUE, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.STRING_0, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.STRING_1, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.STRING_MINUS1, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.STRING_MAX, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.STRING_MIN, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.STRING_DECIMAL, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.STRING_OVER_MAX, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.STRING_UNDER_MIN, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.STRING_BIG_VALUE, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.BLANK, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.NULL_STRING, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.BOOL_TRUE, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.BOOL_FALSE, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.NUMERIC_DATE, dateTimeOption);
        dateTime.setElapsedSeconds(DateUtil.getDayFromDate(2010, 1, 1) * 86400L);
        dateTimeOption.modify(dateTime);
        testField(list, "getCDatetimeOption", DATA.DATE_DATE_FMT1, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.DATE_DATE_FMT2, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.DATE_DATETIME_FIMT1, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.DATE_DATETIME_FIMT2, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.STRING_DATE, dateTimeOption);
        dateTimeOption.setNull();
        testField(list, "getCDatetimeOption", DATA.NUMERIC_DATETIME, dateTimeOption);
        dateTime.setElapsedSeconds(DateUtil.getDayFromDate(2010, 10, 1) * 86400L + DateUtil.getSecondFromTime(12, 1, 18));
        dateTimeOption.modify(dateTime);
        testField(list, "getCDatetimeOption", DATA.DATETIME_DATE_FMT1, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.DATETIME_DATE_FMT2, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.DATETIME_DATETIME_FIMT1, dateTimeOption);
        testField(list, "getCDatetimeOption", DATA.DATETIME_DATETIME_FIMT2, dateTimeOption);
View Full Code Here

            int h = cal.get(Calendar.HOUR_OF_DAY);
            int min = cal.get(Calendar.MINUTE);
            int s = cal.get(Calendar.SECOND);
            int days = DateUtil.getDayFromDate(y, m + 1, d);
            int secs = DateUtil.getSecondFromTime(h, min, s);
            DateTime dt = new DateTime();
            dt.setElapsedSeconds((long) days * 86400 + secs);
            model.getCDatetimeOption().modify(dt);

            Date date = new Date();
            date.setElapsedDays(days);
            model.getCDateOption().modify(date);
        }
        inspector.clear();
        inspector.inspect(dataHolder);
        for (Cause cause : inspector.getCauses()) {
            //            System.out.println(cause.getMessage());
            if (cause.getType().equals(Type.NOT_IN_TESTING_TIME)) {
                System.out.println(cause.getMessage());
            }
            assertEquals("エラー原因のチェック", Type.CONDITION_NOW_ON_INVALID_COLUMN, cause.getType());
        }
        assertEquals("エラー原因のリストの要素数", 36, inspector.getCauses().size()); // 4件成功するのでNG件数が40-4=36(件)となる。
        assertFalse("検査失敗", inspector.isSuccess());

        // NGとなるケース(実値に未来時刻を指定して、inspect()を実行)
        for (AllTypesWNoerr model : getActualList()) {
            Calendar cal = Calendar.getInstance();
            cal.setTimeInMillis(System.currentTimeMillis());
            int y = cal.get(Calendar.YEAR);
            int m = cal.get(Calendar.MONTH);
            int d = cal.get(Calendar.DAY_OF_MONTH);
            int h = cal.get(Calendar.HOUR_OF_DAY);
            int min = cal.get(Calendar.MINUTE);
            int s = cal.get(Calendar.SECOND);
            int days = DateUtil.getDayFromDate(y + 1, m + 1, d); // 1年後を指定
            int secs = DateUtil.getSecondFromTime(h, min, s);
            DateTime dt = new DateTime();
            dt.setElapsedSeconds((long) days * 86400 + secs);
            model.getCDatetimeOption().modify(dt);

            Date date = new Date();
            date.setElapsedDays(days);
            model.getCDateOption().modify(date);
View Full Code Here

            int h = cal.get(Calendar.HOUR_OF_DAY);
            int min = cal.get(Calendar.MINUTE);
            int s = cal.get(Calendar.SECOND);
            int days = DateUtil.getDayFromDate(y, m + 1, d);
            int secs = DateUtil.getSecondFromTime(h, min, s);
            DateTime dt = new DateTime();
            dt.setElapsedSeconds((long) days * 86400 + secs);
            model.getCDatetimeOption().modify(dt);

            Date date = new Date();
            date.setElapsedDays(days);
            model.getCDateOption().modify(date);
        }
        inspector.clear();
        inspector.inspect(dataHolder);
        for (Cause cause : inspector.getCauses()) {
            System.out.println(cause.getMessage());
            assertEquals("エラー原因のチェック", Type.CONDITION_TODAY_ON_INVALID_COLUMN, cause.getType());
        }
        assertEquals("エラー原因のリストの要素数", 32, inspector.getCauses().size()); // 8件成功するのでNG件数が40-8=36(件)となる。
        assertFalse("検査失敗", inspector.isSuccess());

        // OKとなるケース(実値に現在日の00:00:00を指定して、inspect()を実行)
        for (AllTypesWNoerr model : getActualList()) {
            Calendar cal = Calendar.getInstance();
            cal.setTimeInMillis(System.currentTimeMillis());
            int y = cal.get(Calendar.YEAR);
            int m = cal.get(Calendar.MONTH);
            int d = cal.get(Calendar.DAY_OF_MONTH);
            int days = DateUtil.getDayFromDate(y, m + 1, d);
            DateTime dt = new DateTime();
            dt.setElapsedSeconds((long) days * 86400);
            model.getCDatetimeOption().modify(dt);

            Date date = new Date();
            date.setElapsedDays(days);
            model.getCDateOption().modify(date);
        }
        inspector.clear();
        // テストが日をまたいで実行された場合に期待したテストができなくなるので、
        // finishTimeにstartTimeと同じ値を入れ、日をまたがないでテストが終了
        // した状況を作り出す。
        inspector.setFinishTime(inspector.getStartTime());
        inspector.inspect(dataHolder);
        for (Cause cause : inspector.getCauses()) {
            System.out.println(cause.getMessage());
            assertEquals("エラー原因のチェック", Type.CONDITION_TODAY_ON_INVALID_COLUMN, cause.getType());
        }
        assertEquals("エラー原因のリストの要素数", 32, inspector.getCauses().size()); // 8件成功するのでNG件数が40-8=36(件)となる。
        assertFalse("検査失敗", inspector.isSuccess());

        // NGとなるケース(実値に翌日の00:00:00を指定して、inspect()を実行)
        for (AllTypesWNoerr model : getActualList()) {
            Calendar cal = Calendar.getInstance();
            cal.setTimeInMillis(System.currentTimeMillis());
            int y = cal.get(Calendar.YEAR);
            int m = cal.get(Calendar.MONTH);
            int d = cal.get(Calendar.DAY_OF_MONTH);
            int days = DateUtil.getDayFromDate(y, m + 1, d) + 1;
            DateTime dt = new DateTime();
            dt.setElapsedSeconds((long) days * 86400);
            model.getCDatetimeOption().modify(dt);

            Date date = new Date();
            date.setElapsedDays(days);
            model.getCDateOption().modify(date);
        }
        inspector.clear();

        // テストが日をまたいで実行された場合に期待したテストができなくなるので、
        // finishTimeにstartTimeと同じ値を入れ、日をまたがないでテストが終了
        // した状況を作り出す。
        inspector.setFinishTime(inspector.getStartTime());
        inspector.inspect(dataHolder);
        for (Cause cause : inspector.getCauses()) {
            System.out.println(cause.getMessage());
            String columnName = cause.getColumnInfo().getColumnName();
            if ("C_DATETIME".equals(columnName) || "C_DATE".equals(columnName)) {
                assertEquals("エラー原因のチェック", Type.NOT_IN_TEST_DAY, cause.getType());
            } else {
                assertEquals("エラー原因のチェック", Type.CONDITION_TODAY_ON_INVALID_COLUMN, cause.getType());
            }
        }
        assertEquals("エラー原因のリストの要素数", 40, inspector.getCauses().size());
        assertFalse("検査失敗", inspector.isSuccess());

        // OKとなるケース(実値に翌日の00:00:00を指定して、inspect()を実行、テストが日を跨ぐケース)
        for (AllTypesWNoerr model : getActualList()) {
            Calendar cal = Calendar.getInstance();
            cal.setTimeInMillis(System.currentTimeMillis());
            int y = cal.get(Calendar.YEAR);
            int m = cal.get(Calendar.MONTH);
            int d = cal.get(Calendar.DAY_OF_MONTH);
            int days = DateUtil.getDayFromDate(y, m + 1, d) + 1;
            DateTime dt = new DateTime();
            dt.setElapsedSeconds((long) days * 86400);
            model.getCDatetimeOption().modify(dt);

            Date date = new Date();
            date.setElapsedDays(days);
            model.getCDateOption().modify(date);
        }
        inspector.clear();
        // テストが日をまたいで実行された状況を作り出す。
        inspector.setFinishTime(inspector.getStartTime() + 86400 * 1000 );
        inspector.inspect(dataHolder);
        for (Cause cause : inspector.getCauses()) {
            System.out.println(cause.getMessage());
            String columnName = cause.getColumnInfo().getColumnName();
            if ("C_DATETIME".equals(columnName) || "C_DATE".equals(columnName)) {
                assertEquals("エラー原因のチェック", Type.NOT_IN_TEST_DAY, cause.getType());
            } else {
                assertEquals("エラー原因のチェック", Type.CONDITION_TODAY_ON_INVALID_COLUMN, cause.getType());
            }
        }


        // NGとなるケース(実値に未来時刻を指定して、inspect()を実行)
        for (AllTypesWNoerr model : getActualList()) {
            Calendar cal = Calendar.getInstance();
            cal.setTimeInMillis(System.currentTimeMillis());
            int y = cal.get(Calendar.YEAR);
            int m = cal.get(Calendar.MONTH);
            int d = cal.get(Calendar.DAY_OF_MONTH);
            int h = cal.get(Calendar.HOUR_OF_DAY);
            int min = cal.get(Calendar.MINUTE);
            int s = cal.get(Calendar.SECOND);
            int days = DateUtil.getDayFromDate(y + 1, m + 1, d); // 1年後を指定
            int secs = DateUtil.getSecondFromTime(h, min, s);
            DateTime dt = new DateTime();
            dt.setElapsedSeconds((long) days * 86400 + secs);
            model.getCDatetimeOption().modify(dt);

            Date date = new Date();
            date.setElapsedDays(days);
            model.getCDateOption().modify(date);
        }
        inspector.clear();
        inspector.inspect(dataHolder);
        for (Cause cause : inspector.getCauses()) {
            System.out.println(cause.getMessage());
            String columnName = cause.getColumnInfo().getColumnName();
            if ("C_DATETIME".equals(columnName) || "C_DATE".equals(columnName)) {
                assertEquals("エラー原因のチェック", Type.NOT_IN_TEST_DAY, cause.getType());
            } else {
                assertEquals("エラー原因のチェック", Type.CONDITION_TODAY_ON_INVALID_COLUMN, cause.getType());
            }
        }
        assertEquals("エラー原因のリストの要素数", 40, inspector.getCauses().size());
        assertFalse("検査失敗", inspector.isSuccess());

        // NGとなるケース(実値に翌日の00:00:00を指定して、inspect()を実行)
        for (AllTypesWNoerr model : getActualList()) {
            Calendar cal = Calendar.getInstance();
            cal.setTimeInMillis(System.currentTimeMillis());
            int y = cal.get(Calendar.YEAR);
            int m = cal.get(Calendar.MONTH);
            int d = cal.get(Calendar.DAY_OF_MONTH);
            int days = DateUtil.getDayFromDate(y, m + 1, d);
            DateTime dt = new DateTime();
            dt.setElapsedSeconds((long) days * 86400);
            model.getCDatetimeOption().modify(dt);

            Date date = new Date();
            date.setElapsedDays(days);
            model.getCDateOption().modify(date);
View Full Code Here

            int h = cal.get(Calendar.HOUR_OF_DAY);
            int min = cal.get(Calendar.MINUTE);
            int s = cal.get(Calendar.SECOND);
            int days = com.asakusafw.runtime.value.DateUtil.getDayFromDate(y, m + 1, d);
            int secs = com.asakusafw.runtime.value.DateUtil.getSecondFromTime(h, min, s);
            DateTime dt = new DateTime();
            dt.setElapsedSeconds((long) days * 86400 + secs);
            op.modify(dt);
        }
        return op;
    }
View Full Code Here

        testGetXXXOptionDo(excelUtils, sheet, DATA.FORMULA, TYPES.DATE, new CellTypeMismatchException("日付"));

        // getDateTimeOptionのテスト

        DateTimeOption dateTimeOption = new DateTimeOption();
        DateTime dateTime = new DateTime();

        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_0, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_1, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_MINUS1, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_DECIMAL, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_OVER_MAX, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_UNDER_MIN, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_BIG_VALUE, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_0, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_1, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_MINUS1, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_DECIMAL, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_OVER_MAX, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_UNDER_MIN, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_BIG_VALUE, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        dateTimeOption.setNull();
        testGetXXXOptionDo(excelUtils, sheet, DATA.BLANK, TYPES.DATETIME, dateTimeOption);
        testGetXXXOptionDo(excelUtils, sheet, DATA.NULL_STRING, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.BOOL_TRUE, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.BOOL_FALSE, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_DATE, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        dateTime.setElapsedSeconds(DateUtil.getDayFromDate(2010, 1, 1) * 86400L);
        dateTimeOption.modify(dateTime);
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATE_DATE_FMT1, TYPES.DATETIME, dateTimeOption);
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATE_DATE_FMT2, TYPES.DATETIME, dateTimeOption);
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATE_DATETIME_FIMT1, TYPES.DATETIME, dateTimeOption);
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATE_DATETIME_FIMT2, TYPES.DATETIME, dateTimeOption);
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_DATE, TYPES.DATETIME, dateTimeOption);
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_DATETIME, TYPES.DATETIME, new CellTypeMismatchException("日付"));
        dateTime.setElapsedSeconds(DateUtil.getDayFromDate(2010, 10, 1) * 86400L + DateUtil.getSecondFromTime(12, 1, 18));
        dateTimeOption.modify(dateTime);
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATETIME_DATE_FMT1, TYPES.DATETIME, dateTimeOption);
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATETIME_DATE_FMT2, TYPES.DATETIME, dateTimeOption);
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATETIME_DATETIME_FIMT1, TYPES.DATETIME, dateTimeOption);
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATETIME_DATETIME_FIMT2, TYPES.DATETIME, dateTimeOption);
View Full Code Here

TOP

Related Classes of com.asakusafw.runtime.value.DateTime

Copyright © 2018 www.massapicom. 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.