github.com/vertgenlab/gonomics@v1.0.0/cmd/vcfFilter/expression_test.go (about) 1 package main 2 3 import ( 4 "testing" 5 6 "github.com/vertgenlab/gonomics/vcf" 7 ) 8 9 func TestExpressionFormat(t *testing.T) { 10 data, header := vcf.Read("testdata/headerTest.vcf") 11 testExp := "FormatF >= 1" 12 13 tests := parseExpression(testExp, header, true, true) 14 for _, v := range data { 15 v = vcf.ParseFormat(v, header) 16 if !passesTests(v, tests) { 17 t.Errorf("problem with format expression") 18 } 19 } 20 } 21 22 func TestExpressionInfo(t *testing.T) { 23 data, header := vcf.Read("testdata/headerTest.vcf") 24 testExp := "InfoA < 20 ; InfoFlag" 25 26 tests := parseExpression(testExp, header, false, true) 27 for _, v := range data { 28 v = vcf.ParseInfo(v, header) 29 if !passesTests(v, tests) { 30 t.Errorf("problem with info expression") 31 } 32 } 33 }