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  }