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  }