github.com/vertgenlab/gonomics@v1.0.0/cmd/mergesort/mergesort_test.go (about) 1 package main 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/vertgenlab/gonomics/exception" 8 "github.com/vertgenlab/gonomics/fileio" 9 ) 10 11 var MergeSortTests = []struct { 12 InFile string 13 OutFile string 14 ExpectedFile string 15 TmpFilePrefix string 16 NumLinesPerChunk int 17 SortCriteria string 18 }{ 19 {"testdata/bedFileTest.bed", "testdata/out.bed", "testdata/expectedSortByCoord.bed", "tmp", 1000000, "byGenomicCoordinates"}, 20 {"testdata/small.sam", "testdata/out.sam", "testdata/expected.small.sam", "tmp", 1000000, "byGenomicCoordinates"}, 21 {"testdata/singleCell.sam", "testdata/out.singleCell.sam", "testdata/expected.singleCell.sam", "tmp", 1000000, "singleCellBx"}, 22 {"testdata/test.vcf", "testdata/out.vcf", "testdata/expected.vcf", "tmp", 1000000, "byGenomicCoordinates"}, 23 {"testdata/test.axt", "testdata/out.axt", "testdata/expected.axt", "tmp", 1000000, "byGenomicCoordinates"}, 24 // TODO enable giraf sorting after pointers are removed 25 //{"testdata/test.giraf", "testdata/out.giraf", "testdata/expected.giraf", "tmp", 1000000, "byGenomicCoordinates"}, 26 } 27 28 func TestMergeSort(t *testing.T) { 29 var err error 30 for _, v := range MergeSortTests { 31 mergeSort(v.InFile, v.OutFile, v.NumLinesPerChunk, v.SortCriteria) 32 if !fileio.AreEqual(v.OutFile, v.ExpectedFile) { 33 t.Errorf("Error in mergeSort: %s.", v.OutFile) 34 } else { 35 err = os.Remove(v.OutFile) 36 exception.PanicOnErr(err) 37 } 38 } 39 }