/*! ****************************************************************************** * * Pentaho Data Integration * * Copyright (C) 2002-2016 by Pentaho : http://www.pentaho.com * ******************************************************************************* * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ******************************************************************************/ package org.pentaho.di.trans.steps.exceloutput; import org.junit.Before; import org.junit.Test; import org.pentaho.di.core.injection.BaseMetadataInjectionTest; public class ExcelOutputMetaInjectionTest extends BaseMetadataInjectionTest<ExcelOutputMeta> { @Before public void setup() { setup( new ExcelOutputMeta() ); } @Test public void test() throws Exception { check( "HEADER_FONT_SIZE", new StringGetter() { public String get() { return meta.getHeaderFontSize(); } } ); check( "HEADER_FONT_BOLD", new BooleanGetter() { public boolean get() { return meta.isHeaderFontBold(); } } ); check( "HEADER_FONT_ITALIC", new BooleanGetter() { public boolean get() { return meta.isHeaderFontItalic(); } } ); check( "HEADER_FONT_COLOR", new IntGetter() { public int get() { return meta.getHeaderFontColor(); } } ); check( "HEADER_BACKGROUND_COLOR", new IntGetter() { public int get() { return meta.getHeaderBackGroundColor(); } } ); check( "HEADER_ROW_HEIGHT", new IntGetter() { public int get() { return Integer.parseInt( meta.getHeaderRowHeight() ); } } ); check( "HEADER_IMAGE", new StringGetter() { public String get() { return meta.getHeaderImage(); } } ); check( "ROW_FONT_SIZE", new StringGetter() { public String get() { return meta.getRowFontSize(); } } ); check( "ROW_FONT_COLOR", new IntGetter() { public int get() { return meta.getRowFontColor(); } } ); check( "ROW_BACKGROUND_COLOR", new IntGetter() { public int get() { return meta.getRowBackGroundColor(); } } ); check( "FILENAME", new StringGetter() { public String get() { return meta.getFileName(); } } ); check( "EXTENSION", new StringGetter() { public String get() { return meta.getExtension(); } } ); check( "PASSWORD", new StringGetter() { public String get() { return meta.getPassword(); } } ); check( "HEADER_ENABLED", new BooleanGetter() { public boolean get() { return meta.isHeaderEnabled(); } } ); check( "FOOTER_ENABLED", new BooleanGetter() { public boolean get() { return meta.isFooterEnabled(); } } ); check( "SPLIT_EVERY", new IntGetter() { public int get() { return meta.getSplitEvery(); } } ); check( "STEP_NR_IN_FILENAME", new BooleanGetter() { public boolean get() { return meta.isStepNrInFilename(); } } ); check( "DATE_IN_FILENAME", new BooleanGetter() { public boolean get() { return meta.isDateInFilename(); } } ); check( "FILENAME_TO_RESULT", new BooleanGetter() { public boolean get() { return meta.isAddToResultFiles(); } } ); check( "PROTECT", new BooleanGetter() { public boolean get() { return meta.isSheetProtected(); } } ); check( "TIME_IN_FILENAME", new BooleanGetter() { public boolean get() { return meta.isTimeInFilename(); } } ); check( "TEMPLATE", new BooleanGetter() { public boolean get() { return meta.isTemplateEnabled(); } } ); check( "TEMPLATE_FILENAME", new StringGetter() { public String get() { return meta.getTemplateFileName(); } } ); check( "TEMPLATE_APPEND", new BooleanGetter() { public boolean get() { return meta.isTemplateAppend(); } } ); check( "SHEET_NAME", new StringGetter() { public String get() { return meta.getSheetname(); } } ); check( "USE_TEMPFILES", new BooleanGetter() { public boolean get() { return meta.isUseTempFiles(); } } ); check( "TEMPDIR", new StringGetter() { public String get() { return meta.getTempDirectory(); } } ); check( "NAME", new StringGetter() { public String get() { return meta.getOutputFields()[0].getName(); } } ); // TODO check field type plugins skipPropertyTest( "TYPE" ); check( "FORMAT", new StringGetter() { public String get() { return meta.getOutputFields()[0].getFormat(); } } ); check( "ENCODING", new StringGetter() { public String get() { return meta.getEncoding(); } } ); check( "NEWLINE", new StringGetter() { public String get() { return meta.getNewline(); } } ); check( "APPEND", new BooleanGetter() { public boolean get() { return meta.isAppend(); } } ); check( "DONT_OPEN_NEW_FILE", new BooleanGetter() { public boolean get() { return meta.isDoNotOpenNewFileInit(); } } ); check( "CREATE_PARENT_FOLDER", new BooleanGetter() { public boolean get() { return meta.isCreateParentFolder(); } } ); check( "DATE_FORMAT_SPECIFIED", new BooleanGetter() { public boolean get() { return meta.isSpecifyFormat(); } } ); check( "DATE_FORMAT", new StringGetter() { public String get() { return meta.getDateTimeFormat(); } } ); check( "AUTOSIZE_COLUMNS", new BooleanGetter() { public boolean get() { return meta.isAutoSizeColums(); } } ); check( "NULL_AS_BLANK", new BooleanGetter() { public boolean get() { return meta.isNullBlank(); } } ); checkStringToInt( "HEADER_FONT_NAME", new IntGetter() { public int get() { return meta.getHeaderFontName(); } }, new String[] { "arial", "courier", "tahoma", "times" }, new int[] { 0, 1, 2, 3 } ); checkStringToInt( "ROW_FONT_NAME", new IntGetter() { public int get() { return meta.getRowFontName(); } }, new String[] { "arial", "courier", "tahoma", "times" }, new int[] { 0, 1, 2, 3 } ); checkStringToInt( "HEADER_FONT_UNDERLINE", new IntGetter() { public int get() { return meta.getHeaderFontUnderline(); } }, new String[] { "no", "single", "single_accounting", "double", "double_accounting" }, new int[] { 0, 1, 2, 3, 4 } ); checkStringToInt( "HEADER_FONT_ORIENTATION", new IntGetter() { public int get() { return meta.getHeaderFontOrientation(); } }, new String[] { "horizontal", "minus_45", "minus_90", "plus_45", "plus_90", "stacked", "vertical" }, new int[] { 0, 1, 2, 3, 4, 5, 6 } ); checkStringToInt( "HEADER_ALIGNMENT", new IntGetter() { public int get() { return meta.getHeaderAlignment(); } }, new String[] { "left", "right", "center", "fill", "general", "justify" }, new int[] { 0, 1, 2, 3, 4, 5 } ); } }