package org.simantics.scl.compiler.tests; import java.io.BufferedReader; import java.io.InputStreamReader; import java.nio.charset.Charset; import org.junit.Before; import org.simantics.scl.compiler.commands.CommandSession; import org.simantics.scl.compiler.commands.TestScriptExecutor; import org.simantics.scl.compiler.module.repository.ModuleRepository; import org.simantics.scl.compiler.source.repository.CompositeModuleSourceRepository; import org.simantics.scl.compiler.source.repository.SourceRepositories; public class ScriptTestBase { private final String path; ModuleRepository moduleRepository; public ScriptTestBase(String path) { this.path = path; } @Before public void initialize() throws Exception { moduleRepository = new ModuleRepository( new CompositeModuleSourceRepository( SourceRepositories.BUILTIN_SOURCE_REPOSITORY, SourceRepositories.PRELUDE_SOURCE_REPOSITORY )); } protected void test() throws Exception { String testScriptName = Thread.currentThread().getStackTrace()[2].getMethodName(); String testPath = "scripts/" + testScriptName + ".sts"; CommandSession session = new CommandSession(moduleRepository, null); new TestScriptExecutor(session, new BufferedReader( new InputStreamReader(getClass().getResourceAsStream(testPath), Charset.forName("UTF-8"))), null) .execute(); } }