{-# LANGUAGE OverloadedStrings #-} import SequenceFormats.RareAlleleHistogram.Test (testWriteHistogram, testReadHistogram) import SequenceFormats.Eigenstrat.Test (eigenstratReadTest, bimReadTest, eigenstratWriteTest) import SequenceFormats.FreqSum.Test (fsReadTest, fsWriteTest) import SequenceFormats.Fasta.Test (testFastaRead) import SequenceFormats.Utils.Test (testChromOrder) import SequenceFormats.VCF.Test (testReadVCF, testGetGenotypes, testGetDosages, testIsTransversionSnp, testIsBiallelicSnp, testVcfToFreqsumEntry) import Test.Tasty (TestTree, testGroup, defaultMain) import Test.Tasty.HUnit (testCase) main :: IO () main = defaultMain allTests where allTests = testGroup "Tests" [eigenstratTests, freqSumTests, fastaTests, rahTests, chromTests, vcfTests] eigenstratTests :: TestTree eigenstratTests = testGroup "Eigenstrat Tests" [ testCase "Eigenstrat Read Test" eigenstratReadTest, testCase "Bim Read Test" bimReadTest, testCase "Eigenstrat Write Test" eigenstratWriteTest] freqSumTests :: TestTree freqSumTests = testGroup "FreqSum Tests" [ testCase "FreqSum Read Test" fsReadTest, testCase "FreqSum Write Test" fsWriteTest] fastaTests :: TestTree fastaTests = testGroup "Fasta Tests" [testCase "Fasta Read Test" testFastaRead] rahTests :: TestTree rahTests = testGroup "Histogram Tests" [ testCase "Histogram Read Test" testReadHistogram, testCase "Histogram Write Test" testWriteHistogram] chromTests :: TestTree chromTests = testGroup "Chrom tests" [ testCase "Chromosome ordering tests" testChromOrder] vcfTests :: TestTree vcfTests = testGroup "VCF tests" [ testCase "VCF read test" testReadVCF, testCase "VCF getGenotypes" testGetGenotypes, testCase "VCF getDosages" testGetDosages, testCase "VCF isTransitionSnp" testIsTransversionSnp, testCase "VCF isBiallelicSnp" testIsBiallelicSnp, testCase "VCF testVcfToFreqsumEntry" testVcfToFreqsumEntry]