/*!
 * This program is free software; you can redistribute it and/or modify it under the
 * terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software
 * Foundation.
 *
 * You should have received a copy of the GNU Lesser General Public License along with this
 * program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
 * or from the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU Lesser General Public License for more details.
 *
 * Copyright (c) 2002-2013 Pentaho Corporation..  All rights reserved.
 */

package org.pentaho.reporting.engine.classic.core.util;

import junit.framework.TestCase;
import org.pentaho.reporting.engine.classic.core.ClassicEngineBoot;
import org.pentaho.reporting.engine.classic.core.util.beans.ArrayValueConverter;
import org.pentaho.reporting.engine.classic.core.util.beans.BeanException;
import org.pentaho.reporting.engine.classic.core.util.beans.StringValueConverter;

public class ArrayValueConverterTest extends TestCase {
  public ArrayValueConverterTest() {
  }

  public ArrayValueConverterTest( final String name ) {
    super( name );
  }

  protected void setUp() throws Exception {
    ClassicEngineBoot.getInstance().start();
  }

  public void testArrayConversion() throws BeanException {
    final String[] array = { " " };
    final ArrayValueConverter c = new ArrayValueConverter( String.class, new StringValueConverter() );
    final String s = c.toAttributeValue( array );
    final Object o = c.toPropertyValue( s );
    assertTrue( o instanceof String[] );
    final String[] strings = (String[]) o;
    assertEquals( strings.length, 1 );
    assertEquals( strings[0], " " );
  }
}
