package org.overture.vdm2jml.tests.util;
import java.io.File;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import org.overture.codegen.utils.GeneralUtils;
import org.overture.codegen.vdm2java.IJavaConstants;
import org.overture.codegen.vdm2java.JavaCodeGen;
import org.overture.vdm2jml.tests.OpenJmlValidationBase;
import org.overture.vdm2jml.tests.exec.JmlExecTestBase;
public class TestUtil
{
public static List<File> collectStoredJavaJmlFiles(File folder)
{
List<File> files = GeneralUtils.getFiles(folder);
LinkedList<File> javaFiles = new LinkedList<File>();
for (File f : files)
{
if (f.getName().endsWith(IJavaConstants.JAVA_FILE_EXTENSION))
{
javaFiles.add(f);
}
}
return javaFiles;
}
public static List<File> collectGenJavaJmlFiles(File folder)
{
List<File> files = GeneralUtils.getFilesRecursively(folder);
String projDir = File.separatorChar
+ JmlExecTestBase.DEFAULT_JAVA_ROOT_PACKAGE
+ File.separatorChar;
String quotesDir = File.separatorChar + JavaCodeGen.JAVA_QUOTES_PACKAGE
+ File.separatorChar;
List<File> filesToStore = new LinkedList<File>();
for (File file : files)
{
String absPath = file.getAbsolutePath();
if (absPath.endsWith(IJavaConstants.JAVA_FILE_EXTENSION)
&& absPath.contains(projDir)
&& !absPath.contains(quotesDir))
{
filesToStore.add(file);
}
}
return filesToStore;
}
public static Collection<Object[]> collectVdmslFiles(List<File> files)
{
List<Object[]> testInputFiles = new LinkedList<Object[]>();
for (File f : files)
{
if (f.getName().endsWith(OpenJmlValidationBase.VDMSL_FILE_EXT))
{
testInputFiles.add(new Object[] { f });
}
}
return testInputFiles;
}
}