package com.ftinc.si.assist.test;

public interface TestCommandIF {
	
	public int getId();
	public String getTestCase();

	public String getSubject();
	public void setSubject(String s);

	public String getClassName();
	public void setClassName(String s);
	
	public String getMethodName();
	public void setMethod(String methodName, boolean isStatic, int varAPos);
	
	public int varArgsPos();
	public boolean isStatic();
	
	public String getReturnType();
	public void setReturnType(String s);
	
	
	public String[][] getArgTypes();   //[[ClassName,[0-9]+$[0-9_]],[ClassName,$[0-9]+,...]  JSONである。
	public void setArgTypes(String[][] s);   //[[ClassName,[0-9]+$[0-9_]],[ClassName,$[0-9]+,...]  JSONである。

	public boolean getArgStatus(int n);
	public void setArgStatus(int n, boolean b);
	
	public boolean isAutomatic();//完全に自動で動くTestCommandかどうかをbooleanで返す。
	
	//事前実行することがあれば行う。snapshotなど
	public void preExec();
	
	//XUnitのTestCase名
	public String getName4Log();

}
