/*
 * "Peko" Visual Novel System
 *
 * All Rights Reserved.
 * Copyright (c) 1999-2003 Tsukuba Bunko.
 *
 * $Id: PSMLUtilTestCase.java,v 1.1.2.1 2003/12/11 10:17:57 ppoi Exp $
 */
package tsukuba_bunko.peko.scenario.test;

import	junit.framework.TestCase;

import	tsukuba_bunko.peko.scenario.PSMLUtil;


/**
 * <code>{@see tsukuba_bunko.peko.scenario.PSMLUtil}</code> のテストケースです。
 * @author	${Author}$
 * @version	${Revision}$
 */
public class PSMLUtilTestCase extends TestCase {

	/**
	 * Constructor for PSMLUtilTestCase.
	 * @param arg0
	 */
	public PSMLUtilTestCase(String arg0)
	{
		super(arg0);
	}


	/**
	 * ISO 制御コードを含まない文字列の場合。入力と出力は同じインスタンス。
	 */
	public void testRemoveISOControlChar1()
	{
		String	string = "てきすとAreaに Text って書くテスト";
		String	result = PSMLUtil.removeISOControlChar( string );
		assertEquals( "result is not equals to string.", result, string );
		assertSame( "result is not same to string.", result, string );
	}

	/**
	 * 前後に ISO 制御コードを含む文字列の場合。
	 */
	public void testRemoveISOControlChar2()
	{
		String	string = "てきすとAreaに Text って書くテスト";
		String	source = "\n\t\r\b" + string + "\t";
		assertTrue( !source.equals(string) );
		String	result = PSMLUtil.removeISOControlChar( source );
		assertEquals( "result is not equals to string.", result, string );
	}

	/**
	 * 内部に ISO 制御コードを含む文字列の場合。
	 */
	public void testRemoveISOControlChar3()
	{
		String	string = "てきすとAreaに Text って書くテスト";
		String	source = "てきすとA\breaに\n\t Text って書\rくテスト";
		assertTrue( !source.equals(string) );
		String	result = PSMLUtil.removeISOControlChar( source );
		assertEquals( "result is not equals to string.", result, string );
	}

	/**
	 * 前後・内部に ISO 制御コードを含む文字列の場合。
	 */
	public void testRemoveISOControlChar4()
	{
		String	string = "てきすとAreaに Text って書くテスト";
		String	source = "\nてき\t\r\bすとA\breaに\n\t Text って書\rくテスト\t\b\b\b\b";
		assertTrue( !source.equals(string) );
		String	result = PSMLUtil.removeISOControlChar( source );
		assertEquals( "result is not equals to string.", result, string );
	}

	/**
	 * ISO 制御コードのみの文字列の場合。
	 */
	public void testRemoveISOControlChar5()
	{
		String	source = "\n\t\r\b\b\n\t\r\t";
		String	result = PSMLUtil.removeISOControlChar( source );
		assertEquals( "result is not empty string", result, "" );
	}
}