package parser;

import static org.junit.Assert.*;

import java.io.File;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Vector;

import junit.framework.TestCase;

import org.junit.Test;

import de.dhbwstuttgart.core.MyCompiler;
import de.dhbwstuttgart.core.MyCompilerAPI;

/**
 * Dieser Test prüft nur, ob .java-Dateien fehlerfrei geparst werden.
 * Der dabei erstellte Syntaxbaum wird nicht kontrolliert.
 * @author janulrich
 *
 */
public class GeneralParserTest{
	private static final String rootDirectory = System.getProperty("user.dir")+"/test/parser/";
	
	@Test
	public void run(){
		Vector<String> filenames = new Vector<String>();
		filenames.add("FieldInitializationTest.jav");
		filenames.add("ImportTest.jav");
		filenames.add("BoundedParameter.jav");
		filenames.add("GenericFieldVarTest.jav");
		filenames.add("FieldVarTest.jav");
		MyCompilerAPI compiler = MyCompiler.getAPI();
		try{
			for(String filename : filenames)
				compiler.parse(new File(rootDirectory + filename));
		}catch(Exception exc){
			exc.printStackTrace();
			fail();
		}
		assertTrue("Tests durchlaufen",filenames.size()>0);
	}
	
}