github.com/covergates/covergates@v0.2.2-0.20201009050117-42ef8a19fb95/service/perl/file_test.go (about)

     1  package perl
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/covergates/covergates/core"
     7  )
     8  
     9  func TestMergeFile(t *testing.T) {
    10  	files := []*core.File{
    11  		{
    12  			Name: "test.pl",
    13  			StatementHits: []*core.StatementHit{
    14  				{
    15  					LineNumber: 1,
    16  					Hits:       1,
    17  				},
    18  				{
    19  					LineNumber: 2,
    20  					Hits:       0,
    21  				},
    22  			},
    23  		},
    24  		{
    25  			Name: "test.pl",
    26  			StatementHits: []*core.StatementHit{
    27  				{
    28  					LineNumber: 1,
    29  					Hits:       0,
    30  				},
    31  				{
    32  					LineNumber: 2,
    33  					Hits:       1,
    34  				},
    35  			},
    36  		},
    37  	}
    38  
    39  	file := mergeFiles(files)
    40  	if file.Name != "test.pl" {
    41  		t.Fail()
    42  		return
    43  	}
    44  	if len(file.StatementHits) != 2 {
    45  		t.Fail()
    46  		return
    47  	}
    48  	expectHits := []int{1, 1}
    49  	for i, hit := range file.StatementHits {
    50  		if expectHits[i] != hit.Hits {
    51  			t.Fail()
    52  		}
    53  	}
    54  	if files[0].StatementHits[1].Hits != 0 {
    55  		t.Log("file being changed")
    56  		t.Fail()
    57  	}
    58  
    59  }