{-# LANGUAGE OverloadedStrings #-}
module Tests.GREAT (tests) where
import Bio.Data.Bed
import Bio.GO.GREAT
import Data.List
import Data.Ord
import Test.Tasty
import Test.Tasty.HUnit
testData = (genes, results)
where
genes = [ (("chr1", 1000, True), 0)
, (("chr1", 6000, True), 1)
, (("chr2", 6000, True), 2)
, (("chr2", 2000000, False), 3)
]
results = [ (BED3 "chr1" 0 2000, 0)
, (BED3 "chr1" 1000 1007000, 1)
, (BED3 "chr2" 0 1003000, 2)
, (BED3 "chr2" 1003000 3005000, 3)
]
tests :: TestTree
tests = testGroup "Test: Bio.GO.GREAT"
[ testCase "getRegulatoryDomains" testAssoc
]
testAssoc :: Assertion
testAssoc = do
let result = sortBy (comparing snd) $ getRegulatoryDomains
(BasalPlusExtension 5000 1000 1000000) $ fst testData
snd testData @=? result