package strucTypes;

import static org.junit.Assert.*;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import de.dhbwstuttgart.parser.JavaTXParser;
import de.dhbwstuttgart.strucTypes.AS_Abstract;
import de.dhbwstuttgart.strucTypes.TC_Abstract;
import de.dhbwstuttgart.strucTypes.Algo_Type;
import de.dhbwstuttgart.strucTypes.Algo_TypeExpr;
import de.dhbwstuttgart.syntaxtree.SourceFile;
import de.dhbwstuttgart.syntaxtree.statement.CastExpr;

import org.junit.Test;


/**
 * Dieser Test prï¿½ft nur, ob .java-Dateien fehlerfrei geparst werden.
 * Der dabei erstellte Syntaxbaum wird nicht kontrolliert.
 * @author janulrich
 *
 */
public class GeneralParserTest_Main{
	private static final String rootDirectory = System.getProperty("user.dir")+"/test/strucTypes/";
	
	@Test
	public void run(){

		/*
		 * Auflistung aller Files die getestet werden sollen
		 */
		List<String> filenames = new ArrayList<String>();
		//filenames.add("FieldInitializationTest.jav");
		//filenames.add("ImportTest.jav");
		//filenames.add("StatementsTest.jav");
		//filenames.add("ImportTestGeneric.jav");
		//filenames.add("BoundedParameter.jav");
		//filenames.add("GenericFieldVarTest.jav");
		//filenames.add("FieldVarTest.jav");
		
		//filenames.add("StructuralTypesField.jav"); 
		filenames.add("Main.jav");
		
		JavaTXParser parser = new JavaTXParser();
		try{
			for(String filename : filenames) {
				
				System.out.println("Teste: "+ filename);
				
				SourceFile sf = parser.parse(new File(rootDirectory + filename));
				
				SourceFile sfdebug = sf; 	
				
				
				
				
				
				
			}
		}catch(Exception exc){
			exc.printStackTrace();
			fail();
		}
		assertTrue("Tests durchlaufen",filenames.size()>0);
	}
	
}
