From 03d1f4f98183cbefbb4acbafe123ab4e4cab0d9a Mon Sep 17 00:00:00 2001
From: Wai Yi Leung <w.y.leung@lumc.nl>
Date: Fri, 11 Mar 2016 10:36:42 +0100
Subject: [PATCH] Adding tests for seqstat

---
 .../lumc/sasc/biopet/tools/SeqStatTest.scala  | 23 ++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

diff --git a/public/biopet-tools/src/test/scala/nl/lumc/sasc/biopet/tools/SeqStatTest.scala b/public/biopet-tools/src/test/scala/nl/lumc/sasc/biopet/tools/SeqStatTest.scala
index b60ef1012..a98f0e641 100644
--- a/public/biopet-tools/src/test/scala/nl/lumc/sasc/biopet/tools/SeqStatTest.scala
+++ b/public/biopet-tools/src/test/scala/nl/lumc/sasc/biopet/tools/SeqStatTest.scala
@@ -18,12 +18,12 @@ package nl.lumc.sasc.biopet.tools
 import java.io.File
 import java.nio.file.Paths
 
-import htsjdk.samtools.fastq.{ FastqReader, FastqRecord }
-import org.mockito.Mockito.{ inOrder => inOrd, when }
+import htsjdk.samtools.fastq.{FastqReader, FastqRecord}
+import org.mockito.Mockito.{inOrder => inOrd, when}
 import org.scalatest.Matchers
 import org.scalatest.mock.MockitoSugar
 import org.scalatest.testng.TestNGSuite
-import org.testng.annotations.{ DataProvider, Test }
+import org.testng.annotations.{DataProvider, Test}
 
 import scala.collection.JavaConverters._
 
@@ -109,6 +109,23 @@ class SeqStatTest extends TestNGSuite with MockitoSugar with Matchers {
 
   }
 
+  @Test(dataProvider = "mockReaderProvider", groups = Array("check_readstats"), singleThreaded = true, dependsOnGroups = Array("report"))
+  def testReadStatsObject(fqMock: FastqReader) = {
+    when(fqMock.getFile) thenReturn new File("/tmp/test.fq")
+    when(fqMock.iterator) thenReturn recordsOver("1", "2", "3", "4", "5")
+    val seqstat = SeqStat
+
+    // the histogram should store the lenght==0 value also, for example sequence length 5 is size 6.
+    // please note that we already loaded the dataset twice in seqstat. (seqstat.Seqstat is called 2 times in previous steps)
+    seqstat.readStats.lengths(5) shouldBe 10
+    seqstat.readStats.lengths.length shouldBe 6
+
+    seqstat.readStats.nucs.sum shouldBe 50
+    seqstat.readStats.withN shouldBe 10
+  }
+
+
+
   @Test def testArgsMinimum() = {
     val args = Array(
       "-i", resourcePath("/paired01a.fq"))
-- 
GitLab