/*
 * DelimitedLineRecordFieldConfigTest.java
 * Copyright (C) 2008 Cyber Beans Corporation. All rights reserved.
 */
package jp.co.cybec.cb3.accessor.fileaccess.flat.delimited;

import jp.co.cybec.cb3.accessor.fileaccess.flat.delimited.DelimitedLineRecordFieldConfig;
import junit.framework.Assert;

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

/**
 * {@link DelimitedLineRecordFieldConfig} のテストケース。
 * @author Juanjuan Wang
 */
public class DelimitedLineRecordFieldConfigTest {

	DelimitedLineRecordFieldConfig target = null;

	/**
	 * @throws Exception
	 */
	@Before
	public void setUp() throws Exception {
		target = new DelimitedLineRecordFieldConfig();
	}

	/**
	 * @throws Exception
	 */
	@After
	public void tearDown() throws Exception {
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#getName()} のためのテスト・メソッド。
	 * 正しくフィールド名が取得できることを確認する。
	 */
	@Test
	public void testGetName() {
		target.setName("id");
		Assert.assertEquals("id", target.getName());
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#setName(String)} のためのテスト・メソッド。
	 * 正しくフィールド名が設定できることを確認する。
	 */
	@Test
	public void testSetName() {
		target.setName("id01");
		Assert.assertEquals("id01", target.getName());
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#getPattern()} のためのテスト・メソッド。
	 * 正しくパターンが取得できることを確認する。
	 */
	@Test
	public void testGetPattern() {
		target.setPattern("#.##");
		Assert.assertEquals("#.##", target.getPattern());
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#setPattern(String)} のためのテスト・メソッド。
	 * 正しくパターンが設定できることを確認する。
	 */
	@Test
	public void testSetPattern() {
		target.setPattern("#.##");
		Assert.assertEquals("#.##", target.getPattern());
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#getPatternClass()} のためのテスト・メソッド。
	 * 正しくパターンクラスが取得できることを確認する。
	 */
	@Test
	public void testGetPatternClass() {
		target.setPatternClass("jp.co.cybec.cb3.abc");
		Assert.assertEquals("jp.co.cybec.cb3.abc", target.getPatternClass());
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#setPatternClass(String)} のためのテスト・メソッド。
	 * 正しくパターンクラスが設定できることを確認する。
	 */
	@Test
	public void testSetPatternClass() {
		target.setPatternClass("jp.co.cybec.cb3.abc");
		Assert.assertEquals("jp.co.cybec.cb3.abc", target.getPatternClass());
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#getPatternClass()} のためのテスト・メソッド。
	 * 正しくフィールド値のバイト数が取得できることを確認する。
	 */
	@Test
	public void testGetLength() {
		target.setLength("10");
		Assert.assertEquals("10", target.getLength());
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#setPatternClass(String)} のためのテスト・メソッド。
	 * 正しくフィールド値のバイト数が設定できることを確認する。
	 */
	@Test
	public void testSetLength() {
		target.setLength("10");
		Assert.assertEquals("10", target.getLength());
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#getAlign()} のためのテスト・メソッド。
	 * 正しくアラインメント指定子が取得できることを確認する。
	 */
	@Test
	public void testGetAlign() {
		target.setAlign("left");
		Assert.assertEquals("left", target.getAlign());
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#setAlign(String)} のためのテスト・メソッド。
	 * 正しくアラインメント指定子が設定することを確認する。
	 */
	@Test
	public void testSetAlign() {
		target.setAlign("left");
		Assert.assertEquals("left", target.getAlign());
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#getPadding()} のためのテスト・メソッド。
	 * 正しくパディング文字が取得できることを確認する。
	 */
	@Test
	public void testGetPadding() {
		target.setPadding(" ");
		Assert.assertEquals(" ", target.getPadding());
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#setPadding(String)} のためのテスト・メソッド。
	 * 正しくパディング文字が設定できることを確認する。
	 */
	@Test
	public void testSetPadding() {
		target.setPadding(" ");
		Assert.assertEquals(" ", target.getPadding());
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#getType()} のためのテスト・メソッド。
	 * 正しくパターンタイプが取得できることを確認する。
	 */
	@Test
	public void testGetType() {
		target.setType("number");
		Assert.assertEquals("number", target.getType());
	}

	/**
	 * {@link DelimitedLineRecordFieldConfig#setType(String)} のためのテスト・メソッド。
	 * 正しくパターンタイプが設定できることを確認する。
	 */
	@Test
	public void testSetType() {
		target.setType("number");
		Assert.assertEquals("number", target.getType());
	}
}
