package marytts.tools.voiceimport; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.regex.Pattern; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; public class DatabaseLayoutTest { File dummyConfigFile; DatabaseLayout db; private static File createDummyConfigFile(TemporaryFolder parent) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader( DatabaseLayoutTest.class.getResourceAsStream("database.config"), "UTF-8")); File conf = parent.newFile("dummy.config"); PrintWriter out = new PrintWriter(conf, "UTF-8"); String line; String defaultPath = Pattern.quote("/home/test/my_voice"); File root = parent.getRoot(); String currentPath = root.getAbsolutePath().replace("\\", "\\\\"); while ((line = br.readLine()) != null) { line = line.replaceAll(defaultPath, currentPath); out.println(line); } br.close(); out.close(); return conf; } @Rule public TemporaryFolder dummyVoiceDir = new TemporaryFolder(); @Before public void setUp() throws Exception { dummyConfigFile = createDummyConfigFile(dummyVoiceDir); assertTrue(dummyConfigFile.length() > 0); dummyVoiceDir.newFolder("wav"); db = new DatabaseLayout(dummyConfigFile, new VoiceImportComponent[] { new AllophonesExtractor(), new BasenameTimelineMaker(), new EHMMLabeler() }); } @Test public void isInitialized() { assertTrue(db.isInitialized()); assertNotNull(db.getAllophoneSet()); assertNotNull(db.getLocale()); } }