Package com.asakusafw.runtime.value

Examples of com.asakusafw.runtime.value.StringOption


        ((StringOption) union.switchObject(2)).modify("Hello, world!");
        assertThat(union.getPosition(), is(2));

        assertThat(union.switchObject(0), is((Object) new IntOption(100)));
        assertThat(union.switchObject(1), is((Object) new LongOption(200L)));
        assertThat(union.switchObject(2), is((Object) new StringOption("Hello, world!")));
    }
View Full Code Here


    @Test
    public void createFromObject() throws Exception {
        Union union = new WritableRawComparableUnion(
                new IntOption(100),
                new LongOption(200L),
                new StringOption("Hello, world!"));
        assertThat(union.switchObject(0), is((Object) new IntOption(100)));
        assertThat(union.switchObject(1), is((Object) new LongOption(200L)));
        assertThat(union.switchObject(2), is((Object) new StringOption("Hello, world!")));
    }
View Full Code Here

    @Test
    public void serialize() throws Exception {
        WritableRawComparableUnion union = new WritableRawComparableUnion(
                new IntOption(100),
                new LongOption(200L),
                new StringOption("Hello, world!"),
                new StringOption());

        StringBuilder buf = new StringBuilder(100000);
        for (int i = 0, n = buf.capacity(); i < n; i++) {
            buf.append((char) ('A' + (i * 257 % 26)));
        }
        ((StringOption) union.switchObject(3)).modify(buf.toString());

        WritableRawComparableUnion r0 = new WritableRawComparableUnion(IntOption.class, LongOption.class, StringOption.class);
        union.switchObject(0);
        byte[] s0 = ser(union);
        des(r0, s0);
        assertThat(r0.getPosition(), is(0));
        assertThat(r0.getObject(), is((Object) new IntOption(100)));

        WritableRawComparableUnion r1 = new WritableRawComparableUnion(IntOption.class, LongOption.class, StringOption.class);
        union.switchObject(1);
        byte[] s1 = ser(union);
        des(r1, s1);
        assertThat(r1.getPosition(), is(1));
        assertThat(r1.getObject(), is((Object) new LongOption(200L)));

        WritableRawComparableUnion r2 = new WritableRawComparableUnion(IntOption.class, LongOption.class, StringOption.class);
        union.switchObject(2);
        byte[] s2 = ser(union);
        des(r2, s2);
        assertThat(r2.getPosition(), is(2));
        assertThat(r2.getObject(), is((Object) new StringOption("Hello, world!")));

        byte[] large = ser((StringOption) union.switchObject(3));
        assertThat(s0.length, lessThan(large.length));
        assertThat(s1.length, lessThan(large.length));
        assertThat(s2.length, lessThan(large.length));
View Full Code Here

                } else {
                    ps.setByte(parameterIndex, byteOption.get());
                }
                break;
            case CHAR:
                StringOption charStringOption = (StringOption) vo;
                if (charStringOption.isNull()) {
                    ps.setNull(parameterIndex, Types.CHAR);
                } else {
                    ps.setString(parameterIndex, charStringOption.getAsString());
                }
                break;
            case VARCHAR:
                StringOption vcharStringOption = (StringOption) vo;
                if (vcharStringOption.isNull()) {
                    ps.setNull(parameterIndex, Types.VARCHAR);
                } else {
                    ps.setString(parameterIndex, vcharStringOption.getAsString());
                }
                break;
            case TIMESTAMP:
            case DATETIME:
                DateTimeOption dateTimeOption = (DateTimeOption) vo;
View Full Code Here

                }
                modelClass.getMethod(name, ByteOption.class).invoke(model, byteOption);
                break;
            case CHAR:
            case VARCHAR:
                StringOption stringOption = new StringOption();
                String str = rs.getString(columnIndex);
                if (rs.wasNull()) {
                    stringOption.setNull();
                } else {
                    stringOption.modify(str);
                }
                modelClass.getMethod(name, StringOption.class).invoke(model, stringOption);
                break;
            case TIMESTAMP:
            case DATETIME:
View Full Code Here

            Writable actual,
            ValueOption<?> expectVal,
            ValueOption<?> actualVal,
            ColumnInfo columnInfo) {
        // StringOptionにキャスト
        StringOption actualStringOption;
        StringOption expectStringOption;
        if (actualVal instanceof StringOption) {
            actualStringOption = (StringOption) actualVal;
            expectStringOption = (StringOption) expectVal;
        } else {
            fail(Type.CONDITION_PARTIAL_ON_INVALID_COLUMN, expect, actual, expectVal, actualVal, columnInfo);
            return;
        }
        // まず完全一致をテストする(期待値と実値が両方ともNULLまたはNULL文字列の場合も
        // 完全一致とみなされるため、以降期待値と実値が両方ともNULLまたはNULL文字列の場合を
        // 考慮しなくてもよい
        if (actualStringOption.equals(expectStringOption)) {
            return;
        }
        // 期待値、実地のどちらかがNULLかNULL文字列の場合、検証を失敗させる
        if (actualStringOption.isNull()
                || expectStringOption.isNull()
                || actualStringOption.getAsString().length() == 0
                || expectStringOption.getAsString().length() == 0) {
            fail(Type.COLUMN_VALUE_MISSMATCH, expect, actual, expectVal, actualVal, columnInfo);
            return;
        }
        String actualString = actualStringOption.getAsString();
        String expectString = expectStringOption.getAsString();
        if (actualString.indexOf(expectString) == -1) {
            fail(Type.COLUMN_VALUE_MISSMATCH, expect, actual, expectVal, actualVal, columnInfo);
            return;
        } else {
            return;
View Full Code Here

        testField(list, "getCTinyintOption", DATA.DATETIME_DATETIME_FIMT1, byteOption.setNull());
        testField(list, "getCTinyintOption", DATA.DATETIME_DATETIME_FIMT2, byteOption.setNull());
        testField(list, "getCTinyintOption", DATA.STRING_DATETIME, byteOption.setNull());

        // C_CHARのテスト
        StringOption stringOption = new StringOption();
        testField(list, "getCCharOption", DATA.NUMERIC_0, stringOption.modify("0"));
        testField(list, "getCCharOption", DATA.NUMERIC_1, stringOption.modify("1"));
        testField(list, "getCCharOption", DATA.NUMERIC_MINUS1, stringOption.modify("-1"));
        testField(list, "getCCharOption", DATA.NUMERIC_MAX, stringOption.modify("9.2233720368547697E18"));
        testField(list, "getCCharOption", DATA.NUMERIC_MIN, stringOption.modify("-9.2233720368547697E18"));
        testField(list, "getCCharOption", DATA.NUMERIC_DECIMAL, stringOption.modify("6.54321"));
        testField(list, "getCCharOption", DATA.NUMERIC_OVER_MAX, stringOption.modify("9.2233720368547697E18"));
        testField(list, "getCCharOption", DATA.NUMERIC_UNDER_MIN, stringOption.modify("-9.2233720368547697E18"));
        testField(list, "getCCharOption", DATA.NUMERIC_BIG_VALUE, stringOption.modify("1.23456789012345E19"));
        testField(list, "getCCharOption", DATA.STRING_0, stringOption.modify("0"));
        testField(list, "getCCharOption", DATA.STRING_1, stringOption.modify("1"));
        testField(list, "getCCharOption", DATA.STRING_MINUS1, stringOption.modify("-1"));
        testField(list, "getCCharOption", DATA.STRING_MAX, stringOption.setNull());
        testField(list, "getCCharOption", DATA.STRING_MIN, stringOption.setNull());
        testField(list, "getCCharOption", DATA.STRING_DECIMAL, stringOption.modify("6.54321"));
        testField(list, "getCCharOption", DATA.STRING_OVER_MAX, stringOption.modify("9223372036854775808"));
        testField(list, "getCCharOption", DATA.STRING_UNDER_MIN, stringOption.modify("-9223372036854775809"));
        testField(list, "getCCharOption", DATA.STRING_BIG_VALUE, stringOption.modify("12345678901234567890"));
        testField(list, "getCCharOption", DATA.BLANK, stringOption.setNull());
        testField(list, "getCCharOption", DATA.NULL_STRING, stringOption.modify(""));
        testField(list, "getCCharOption", DATA.BOOL_TRUE, stringOption.modify("1"));
        testField(list, "getCCharOption", DATA.BOOL_FALSE, stringOption.modify("0"));
        testField(list, "getCCharOption", DATA.NUMERIC_DATE, stringOption.modify("40179"));
        testField(list, "getCCharOption", DATA.DATE_DATE_FMT1, stringOption.modify("2010-01-01 00:00:00"));
        testField(list, "getCCharOption", DATA.DATE_DATE_FMT2, stringOption.modify("2010-01-01 00:00:00"));
        testField(list, "getCCharOption", DATA.DATE_DATETIME_FIMT1, stringOption.modify("2010-01-01 00:00:00"));
        testField(list, "getCCharOption", DATA.DATE_DATETIME_FIMT2, stringOption.modify("2010-01-01 00:00:00"));
        testField(list, "getCCharOption", DATA.STRING_DATE, stringOption.modify("2010-01-01"));
        testField(list, "getCCharOption", DATA.NUMERIC_DATETIME, stringOption.modify("40452.50090277778"));
        testField(list, "getCCharOption", DATA.DATETIME_DATE_FMT1, stringOption.modify("2010-10-01 12:01:18"));
        testField(list, "getCCharOption", DATA.DATETIME_DATE_FMT2, stringOption.modify("2010-10-01 12:01:18"));
        testField(list, "getCCharOption", DATA.DATETIME_DATETIME_FIMT1, stringOption.modify("2010-10-01 12:01:18"));
        testField(list, "getCCharOption", DATA.DATETIME_DATETIME_FIMT2, stringOption.modify("2010-10-01 12:01:18"));
        testField(list, "getCCharOption", DATA.STRING_DATETIME, stringOption.modify("2010-10-01 12:01:18"));

        // C_VCHARのテスト
        testField(list, "getCVcharOption", DATA.NUMERIC_0, stringOption.modify("0"));
        testField(list, "getCVcharOption", DATA.NUMERIC_1, stringOption.modify("1"));
        testField(list, "getCVcharOption", DATA.NUMERIC_MINUS1, stringOption.modify("-1"));
        testField(list, "getCVcharOption", DATA.NUMERIC_MAX, stringOption.modify("9.2233720368547697E18"));
        testField(list, "getCVcharOption", DATA.NUMERIC_MIN, stringOption.modify("-9.2233720368547697E18"));
        testField(list, "getCVcharOption", DATA.NUMERIC_DECIMAL, stringOption.modify("6.54321"));
        testField(list, "getCVcharOption", DATA.NUMERIC_OVER_MAX, stringOption.modify("9.2233720368547697E18"));
        testField(list, "getCVcharOption", DATA.NUMERIC_UNDER_MIN, stringOption.modify("-9.2233720368547697E18"));
        testField(list, "getCVcharOption", DATA.NUMERIC_BIG_VALUE, stringOption.modify("1.23456789012345E19"));
        testField(list, "getCVcharOption", DATA.STRING_0, stringOption.modify("0"));
        testField(list, "getCVcharOption", DATA.STRING_1, stringOption.modify("1"));
        testField(list, "getCVcharOption", DATA.STRING_MINUS1, stringOption.modify("-1"));
        testField(list, "getCVcharOption", DATA.STRING_MAX, stringOption.setNull());
        testField(list, "getCVcharOption", DATA.STRING_MIN, stringOption.setNull());
        testField(list, "getCVcharOption", DATA.STRING_DECIMAL, stringOption.modify("6.54321"));
        testField(list, "getCVcharOption", DATA.STRING_OVER_MAX, stringOption.modify("9223372036854775808"));
        testField(list, "getCVcharOption", DATA.STRING_UNDER_MIN, stringOption.modify("-9223372036854775809"));
        testField(list, "getCVcharOption", DATA.STRING_BIG_VALUE, stringOption.modify("12345678901234567890"));
        testField(list, "getCVcharOption", DATA.BLANK, stringOption.setNull());
        testField(list, "getCVcharOption", DATA.NULL_STRING, stringOption.modify(""));
        testField(list, "getCVcharOption", DATA.BOOL_TRUE, stringOption.modify("1"));
        testField(list, "getCVcharOption", DATA.BOOL_FALSE, stringOption.modify("0"));
        testField(list, "getCVcharOption", DATA.NUMERIC_DATE, stringOption.modify("40179"));
        testField(list, "getCVcharOption", DATA.DATE_DATE_FMT1, stringOption.modify("2010-01-01 00:00:00"));
        testField(list, "getCVcharOption", DATA.DATE_DATE_FMT2, stringOption.modify("2010-01-01 00:00:00"));
        testField(list, "getCVcharOption", DATA.DATE_DATETIME_FIMT1, stringOption.modify("2010-01-01 00:00:00"));
        testField(list, "getCVcharOption", DATA.DATE_DATETIME_FIMT2, stringOption.modify("2010-01-01 00:00:00"));
        testField(list, "getCVcharOption", DATA.STRING_DATE, stringOption.modify("2010-01-01"));
        testField(list, "getCVcharOption", DATA.NUMERIC_DATETIME, stringOption.modify("40452.50090277778"));
        testField(list, "getCVcharOption", DATA.DATETIME_DATE_FMT1, stringOption.modify("2010-10-01 12:01:18"));
        testField(list, "getCVcharOption", DATA.DATETIME_DATE_FMT2, stringOption.modify("2010-10-01 12:01:18"));
        testField(list, "getCVcharOption", DATA.DATETIME_DATETIME_FIMT1, stringOption.modify("2010-10-01 12:01:18"));
        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();
View Full Code Here

        testGetXXXOptionDo(excelUtils, sheet, DATA.ERROR, TYPES.TINYINT,  new CellTypeMismatchException("数値"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.FORMULA, TYPES.TINYINT, new CellTypeMismatchException("数値"));

        // getStringOptionのテスト

        StringOption stringOption = new StringOption();
        stringOption.modify("0");
        testGetXXXOptionDo(excelUtils, sheet,  DATA.NUMERIC_0, TYPES.CHAR, stringOption);
        stringOption.modify("1");
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_1, TYPES.CHAR, stringOption);
        stringOption.modify("-1");
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_MINUS1, TYPES.CHAR, stringOption);
        stringOption.modify("6.54321");
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_DECIMAL, TYPES.CHAR, stringOption);
        stringOption.modify("9.2233720368547697E18");
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_OVER_MAX, TYPES.CHAR, stringOption);
        stringOption.modify("-9.2233720368547697E18");
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_UNDER_MIN, TYPES.CHAR, stringOption);
        stringOption.modify("1.23456789012345E19");
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_BIG_VALUE, TYPES.CHAR, stringOption);
        stringOption.modify("0");
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_0, TYPES.CHAR, stringOption);
        stringOption.modify("1");
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_1, TYPES.CHAR, stringOption);
        stringOption.modify("-1");
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_MINUS1, TYPES.CHAR, stringOption);
        stringOption.modify("6.54321");
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_DECIMAL, TYPES.CHAR, stringOption);
        stringOption.modify("9223372036854775808");
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_OVER_MAX, TYPES.CHAR, stringOption);
        stringOption.modify("-9223372036854775809");
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_UNDER_MIN, TYPES.CHAR, stringOption);
        stringOption.modify("12345678901234567890");
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_BIG_VALUE, TYPES.CHAR, stringOption);
        stringOption.setNull();
        testGetXXXOptionDo(excelUtils, sheet, DATA.BLANK, TYPES.CHAR, stringOption);
        stringOption.modify("");
        testGetXXXOptionDo(excelUtils, sheet, DATA.NULL_STRING, TYPES.CHAR, stringOption);
        stringOption.modify("1");
        testGetXXXOptionDo(excelUtils, sheet, DATA.BOOL_TRUE, TYPES.CHAR, stringOption);
        stringOption.modify("0");
        testGetXXXOptionDo(excelUtils, sheet, DATA.BOOL_FALSE, TYPES.CHAR, stringOption);
        stringOption.modify("40179");
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_DATE, TYPES.CHAR, stringOption);
        stringOption.modify("2010-01-01 00:00:00");
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATE_DATE_FMT1, TYPES.CHAR, stringOption);
        stringOption.modify("2010-01-01 00:00:00");
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATE_DATE_FMT2, TYPES.CHAR, stringOption);
        stringOption.modify("2010-01-01 00:00:00");
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATE_DATETIME_FIMT1, TYPES.CHAR, stringOption);
        stringOption.modify("2010-01-01 00:00:00");
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATE_DATETIME_FIMT2, TYPES.CHAR, stringOption);
        stringOption.modify("2010-01-01");
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_DATE, TYPES.CHAR, stringOption);
        stringOption.modify("40452.50090277778");
        testGetXXXOptionDo(excelUtils, sheet, DATA.NUMERIC_DATETIME, TYPES.CHAR, stringOption);
        stringOption.modify("2010-10-01 12:01:18");
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATETIME_DATE_FMT1, TYPES.CHAR, stringOption);
        stringOption.modify("2010-10-01 12:01:18");
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATETIME_DATE_FMT2, TYPES.CHAR, stringOption);
        stringOption.modify("2010-10-01 12:01:18");
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATETIME_DATETIME_FIMT1, TYPES.CHAR, stringOption);
        stringOption.modify("2010-10-01 12:01:18");
        testGetXXXOptionDo(excelUtils, sheet, DATA.DATETIME_DATETIME_FIMT2, TYPES.CHAR, stringOption);
        stringOption.modify("2010-10-01 12:01:18");
        testGetXXXOptionDo(excelUtils, sheet, DATA.STRING_DATETIME, TYPES.CHAR, stringOption);
        testGetXXXOptionDo(excelUtils, sheet, DATA.ERROR, TYPES.CHAR,  new CellTypeMismatchException("文字列"));
        testGetXXXOptionDo(excelUtils, sheet, DATA.FORMULA, TYPES.CHAR, new CellTypeMismatchException("文字列"));

        // getDateOptionのテスト
View Full Code Here

        case Cell.CELL_TYPE_FORMULA:
        default:
            String msg = createCellTypeMismatchExceptionMsg(cell, "文字列");
            throw new CellTypeMismatchException(msg);
        }
        StringOption stringOption = new StringOption();
        stringOption.modify(str);
        return stringOption;
    }
View Full Code Here

TOP

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

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.