github.com/vertgenlab/gonomics@v1.0.0/cigar/cigar_test.go (about) 1 package cigar 2 3 import ( 4 "strings" 5 "testing" 6 ) 7 8 func TestFromString(t *testing.T) { 9 var cigarsString = "35M2I16D" 10 var c1 Cigar = Cigar{RunLength: 35, Op: 'M'} 11 var c2 Cigar = Cigar{RunLength: 2, Op: 'I'} 12 var c3 Cigar = Cigar{RunLength: 16, Op: 'D'} 13 var cigars []Cigar = []Cigar{c1, c2, c3} 14 15 cigarCheck := FromString(cigarsString) 16 17 for i := 0; i < len(cigarCheck); i++ { 18 if !isEqual(cigars[i], cigarCheck[i]) { 19 t.Errorf("Error with FromString") 20 } 21 } 22 } 23 24 func TestToString(t *testing.T) { 25 var cigarsString = "35M2I16D" 26 var c1 Cigar = Cigar{RunLength: 35, Op: 'M'} 27 var c2 Cigar = Cigar{RunLength: 2, Op: 'I'} 28 var c3 Cigar = Cigar{RunLength: 16, Op: 'D'} 29 var cigars []Cigar = []Cigar{c1, c2, c3} 30 31 cigarCheck := ToString(cigars) 32 33 if strings.Compare(cigarCheck, cigarsString) != 0 { 34 t.Errorf("Error with ToString") 35 } 36 } 37 38 func isEqual(a Cigar, b Cigar) bool { 39 return (a.RunLength == b.RunLength && a.Op == b.Op) 40 }