package jp.sourceforge.cfneo.at4ie.api;

import org.apache.log4j.Logger;

/**
 * テストを実行するインターフェイス。
 * @author imaitakafumi
 *
 */
public abstract class TestRunner {

	Logger logger = Logger.getLogger(TestRunner.class);

	private Context context;
	private TestCaseFile testCaseFile;

	/**
	 * コンストラクタ。<br />
	 */
	public TestRunner(String filepath) {
		;
	}

	/**
	 * テストを実施する。
	 * @throws AT4IEAssertException
	 */
	public void doTest() throws AT4IEAssertException {
		logger.debug("TestRunner#doTest");
		int maxRow = this.testCaseFile.getRowsCount();
		logger.debug("maxRow=" + maxRow);
		for (int row = this.context.getStartRow(); row < maxRow; row++) {
			testCaseFile.getTestCase(row).doTest();
		}
		if (this.context.isClose()) {
			this.context.getInvokerFactory().getInvoker(
					ActionCommandEnum.ACTION_CLOSE).invoke(null);
		}
	}

	public Context getContext() {
		return context;
	}
	protected void setContext(Context context) {
		this.context = context;
	}
	public TestCaseFile getTestCaseFile() {
		return testCaseFile;
	}
	protected void setTestCaseFile(TestCaseFile testCaseFile) {
		this.testCaseFile = testCaseFile;
	}

}
