diff --git a/biopet-core/src/test/scala/nl/lumc/sasc/biopet/core/WriteDependenciesTest.scala b/biopet-core/src/test/scala/nl/lumc/sasc/biopet/core/WriteDependenciesTest.scala new file mode 100644 index 0000000000000000000000000000000000000000..351cc6b6e21d658b2d53a0fa023d4d9dfae4d035 --- /dev/null +++ b/biopet-core/src/test/scala/nl/lumc/sasc/biopet/core/WriteDependenciesTest.scala @@ -0,0 +1,43 @@ +package nl.lumc.sasc.biopet.core + +import java.io.File +import java.nio.file.Files + +import org.broadinstitute.gatk.queue.function.QFunction +import org.scalatest.Matchers +import org.scalatest.testng.TestNGSuite +import org.testng.annotations.Test + +import scala.io.Source + +/** + * Created by pjvanthof on 09/05/16. + */ +class WriteDependenciesTest extends TestNGSuite with Matchers { + + import WriteDependenciesTest._ + + case class Qfunc(in: Seq[File], out: Seq[File]) extends QFunction { + override def inputs = in + override def outputs = out + override def doneOutputs = out.map(x => new File(x.getParentFile, s".${x.getName}.done")) + override def failOutputs = out.map(x => new File(x.getParentFile, s".${x.getName}.fail")) + jobOutputFile = new File(out.head + ".out") + } + + @Test + def test: Unit = { + val outputFile = File.createTempFile("deps.", ".json") + outputFile.deleteOnExit() + WriteDependencies.writeDependencies(Qfunc(file1 :: Nil, file2 :: Nil) :: Qfunc(file2 :: Nil, file3 :: Nil) :: Nil, outputFile) + println(Source.fromFile(outputFile).getLines().mkString("\n")) + } +} + +object WriteDependenciesTest { + val tempDir = Files.createTempDirectory("test").toFile + tempDir.deleteOnExit() + val file1 = new File(tempDir, "file1.txt") + val file2 = new File(tempDir, "file2.txt") + val file3 = new File(tempDir, "file3.txt") +} \ No newline at end of file