From 684fe7c88803cd0a23bea33df3dd30243cef0e60 Mon Sep 17 00:00:00 2001 From: Peter van 't Hof <p.j.van_t_hof@lumc.nl> Date: Thu, 14 Jan 2016 23:37:42 +0100 Subject: [PATCH] Adding tests for input files for summary --- .../biopet/core/summary/WriteSummary.scala | 1 + .../core/summary/SummaryQScriptTest.scala | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/summary/WriteSummary.scala b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/summary/WriteSummary.scala index 02c860fdb..bb6e1bf56 100644 --- a/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/summary/WriteSummary.scala +++ b/public/biopet-core/src/main/scala/nl/lumc/sasc/biopet/core/summary/WriteSummary.scala @@ -184,6 +184,7 @@ class WriteSummary(val root: Configurable) extends InProcessFunction with Config map.toMap } } + object WriteSummary { /** Retrive checksum from file */ def parseChecksum(checksumFile: File): String = { diff --git a/public/biopet-core/src/test/scala/nl/lumc/sasc/biopet/core/summary/SummaryQScriptTest.scala b/public/biopet-core/src/test/scala/nl/lumc/sasc/biopet/core/summary/SummaryQScriptTest.scala index 1f3aec58a..ef97c8af8 100644 --- a/public/biopet-core/src/test/scala/nl/lumc/sasc/biopet/core/summary/SummaryQScriptTest.scala +++ b/public/biopet-core/src/test/scala/nl/lumc/sasc/biopet/core/summary/SummaryQScriptTest.scala @@ -2,6 +2,8 @@ package nl.lumc.sasc.biopet.core.summary import java.io.File +import nl.lumc.sasc.biopet.core.BiopetQScript.InputFile +import nl.lumc.sasc.biopet.core.extensions.Md5sum import nl.lumc.sasc.biopet.utils.config.{Config, Configurable} import org.broadinstitute.gatk.queue.{QScript, QSettings} import org.broadinstitute.gatk.queue.function.QFunction @@ -32,6 +34,10 @@ class SummaryQScriptTest extends TestNGSuite with Matchers { SummaryQScript.md5sumCache.toMap shouldBe Map( new File(s".${File.separator}bla") -> new File(s".${File.separator}bla.md5")) script.functions.size shouldBe 2 + assert(script.functions + .filter(_.isInstanceOf[Md5sum]) + .map(_.asInstanceOf[Md5sum]) + .exists(_.cmdLine.contains(" || "))) } @Test @@ -44,6 +50,10 @@ class SummaryQScriptTest extends TestNGSuite with Matchers { SummaryQScript.md5sumCache.toMap shouldBe Map( new File(s".${File.separator}bla") -> new File(s".${File.separator}bla.md5")) script.functions.size shouldBe 2 + assert(script.functions + .filter(_.isInstanceOf[Md5sum]) + .map(_.asInstanceOf[Md5sum]) + .exists(_.cmdLine.contains(" || "))) } @Test @@ -58,9 +68,39 @@ class SummaryQScriptTest extends TestNGSuite with Matchers { SummaryQScript.md5sumCache.toMap shouldBe Map( new File(s".${File.separator}bla") -> new File(s".${File.separator}bla.md5")) script.functions.size shouldBe 2 + assert(script.functions + .filter(_.isInstanceOf[Md5sum]) + .map(_.asInstanceOf[Md5sum]) + .exists(_.cmdLine.contains(" || "))) } + @Test + def testInputFile: Unit = { + SummaryQScript.md5sumCache.clear() + val file = new File(s".${File.separator}bla") + val script = makeQscript() + script.addSummarizable(makeSummarizable(files = Map("file" -> file, "file2" -> file)), "test") + script.summarizables.size shouldBe 1 + script.inputFiles :+= InputFile(file, Some("md5sum")) + script.inputFiles :+= InputFile(file, None) + script.addSummaryJobs() + SummaryQScript.md5sumCache should not be empty + SummaryQScript.md5sumCache.toMap shouldBe Map( + new File(s".${File.separator}bla") -> new File(s".${File.separator}bla.md5")) + script.functions.size shouldBe 3 + assert(script.functions + .filter(_.isInstanceOf[Md5sum]) + .map(_.asInstanceOf[Md5sum]) + .exists(_.cmdLine.contains(" || "))) + } + @Test + def testAddQscript: Unit = { + SummaryQScript.md5sumCache.clear() + val script = makeQscript() + script.addSummaryQScript(script) + script.summaryQScripts.head shouldBe script + } } object SummaryQScriptTest { -- GitLab