Skip to content
Snippets Groups Projects
Commit b7c5a56c authored by Peter van 't Hof's avatar Peter van 't Hof
Browse files

Add job check to unit tests

parent 3152e5fc
No related branches found
No related tags found
No related merge requests found
...@@ -2,17 +2,20 @@ package nl.lumc.sasc.biopet.pipelines.carp ...@@ -2,17 +2,20 @@ package nl.lumc.sasc.biopet.pipelines.carp
import java.io.File import java.io.File
import nl.lumc.sasc.biopet.core.config.{ConfigValueIndex, Config} import nl.lumc.sasc.biopet.core.config.Config
import nl.lumc.sasc.biopet.extensions.bwa.BwaMem
import nl.lumc.sasc.biopet.extensions.macs2.Macs2CallPeak
import nl.lumc.sasc.biopet.extensions.picard.{ MergeSamFiles, SortSam }
import nl.lumc.sasc.biopet.utils.ConfigUtils import nl.lumc.sasc.biopet.utils.ConfigUtils
import org.broadinstitute.gatk.queue.QSettings import org.broadinstitute.gatk.queue.QSettings
import org.testng.annotations.{DataProvider, Test} import org.testng.annotations.{ Test, DataProvider }
import org.testng.annotations.{Test, DataProvider} import org.scalatest.Matchers
import org.scalatest.Assertions._ import org.scalatest.testng.TestNGSuite
/** /**
* Created by pjvan_thof on 2/13/15. * Created by pjvan_thof on 2/13/15.
*/ */
class CarpTest { class CarpTest extends TestNGSuite with Matchers {
def initPipeline(map: Map[String, Any]): Carp = { def initPipeline(map: Map[String, Any]): Carp = {
new Carp() { new Carp() {
override def configName = "carp" override def configName = "carp"
...@@ -26,12 +29,11 @@ class CarpTest { ...@@ -26,12 +29,11 @@ class CarpTest {
def carpOptions = { def carpOptions = {
val bool = Array(true, false) val bool = Array(true, false)
for (s1 <- bool; s2 <- bool; s3 <- bool; t <- bool; c <- bool) yield for (s1 <- bool; s2 <- bool; s3 <- bool; t <- bool; c <- bool) yield Array("", s1, s2, s3, t, c)
Array("", s1, s2, s3, t, c)
} }
@Test(dataProvider = "carpOptions") @Test(dataProvider = "carpOptions")
def testCarp(f:String, sample1:Boolean, sample2:Boolean, sample3:Boolean, threatment:Boolean, control:Boolean): Unit = { def testCarp(f: String, sample1: Boolean, sample2: Boolean, sample3: Boolean, threatment: Boolean, control: Boolean): Unit = {
val map = { val map = {
var m = ConfigUtils.mergeMaps(Map("output_dir" -> CarpTest.outputDir var m = ConfigUtils.mergeMaps(Map("output_dir" -> CarpTest.outputDir
), CarpTest.excutables) ), CarpTest.excutables)
...@@ -55,8 +57,16 @@ class CarpTest { ...@@ -55,8 +57,16 @@ class CarpTest {
} else { // When samples are correct } else { // When samples are correct
val carp = initPipeline(map) val carp = initPipeline(map)
carp.script() carp.script()
val numberLibs = (if (sample1) 1 else 0) + (if (sample2) 1 else 0) + (if (sample3) 2 else 0) +
(if (threatment) 1 else 0) + (if (control) 1 else 0)
val numberSamples = (if (sample1) 1 else 0) + (if (sample2) 1 else 0) + (if (sample3) 1 else 0) +
(if (threatment) 1 else 0) + (if (control) 1 else 0)
carp.functions.count(_.isInstanceOf[BwaMem]) shouldBe numberLibs
carp.functions.count(_.isInstanceOf[SortSam]) shouldBe numberLibs
carp.functions.count(_.isInstanceOf[MergeSamFiles]) shouldBe (if (sample3) 1 else 0)
carp.functions.count(_.isInstanceOf[Macs2CallPeak]) shouldBe (numberSamples + (if (threatment) 1 else 0))
} }
} }
} }
...@@ -76,7 +86,7 @@ object CarpTest { ...@@ -76,7 +86,7 @@ object CarpTest {
) )
val sample1 = Map( val sample1 = Map(
"samples" -> Map( "sample1" -> Map( "libraries" -> Map( "samples" -> Map("sample1" -> Map("libraries" -> Map(
"lib1" -> Map( "lib1" -> Map(
"R1" -> "1_1_R1.fq", "R1" -> "1_1_R1.fq",
"R2" -> "1_1_R2.fq" "R2" -> "1_1_R2.fq"
...@@ -85,16 +95,16 @@ object CarpTest { ...@@ -85,16 +95,16 @@ object CarpTest {
))) )))
val sample2 = Map( val sample2 = Map(
"samples" -> Map( "sample2" -> Map( "libraries" -> Map( "samples" -> Map("sample2" -> Map("libraries" -> Map(
"lib1" -> Map( "lib1" -> Map(
"R1" -> "2_1_R1.fq", "R1" -> "2_1_R1.fq",
"R2" -> "2_1_R2.fq" "R2" -> "2_1_R2.fq"
) )
) )
))) )))
val sample3 = Map( val sample3 = Map(
"samples" -> Map( "sample3" -> Map( "libraries" -> Map( "samples" -> Map("sample3" -> Map("libraries" -> Map(
"lib1" -> Map( "lib1" -> Map(
"R1" -> "3_1_R1.fq", "R1" -> "3_1_R1.fq",
"R2" -> "3_1_R2.fq" "R2" -> "3_1_R2.fq"
...@@ -107,7 +117,7 @@ object CarpTest { ...@@ -107,7 +117,7 @@ object CarpTest {
))) )))
val threatment1 = Map( val threatment1 = Map(
"samples" -> Map( "threatment" -> Map( "control" -> "control1","libraries" -> Map( "samples" -> Map("threatment" -> Map("control" -> "control1", "libraries" -> Map(
"lib1" -> Map( "lib1" -> Map(
"R1" -> "threatment_1_R1.fq", "R1" -> "threatment_1_R1.fq",
"R2" -> "threatment_1_R2.fq" "R2" -> "threatment_1_R2.fq"
...@@ -116,7 +126,7 @@ object CarpTest { ...@@ -116,7 +126,7 @@ object CarpTest {
))) )))
val control1 = Map( val control1 = Map(
"samples" -> Map( "control1" -> Map( "libraries" -> Map( "samples" -> Map("control1" -> Map("libraries" -> Map(
"lib1" -> Map( "lib1" -> Map(
"R1" -> "control_1_R1.fq", "R1" -> "control_1_R1.fq",
"R2" -> "control_1_R2.fq" "R2" -> "control_1_R2.fq"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment