Permalink
Browse files

add test for mergeProfs()

  • Loading branch information...
1 parent db7b0f8 commit 23dab337d1a587391be8968b8c8b4f76c6b78aa7 @haya14busa haya14busa committed Sep 12, 2016
Showing with 75 additions and 0 deletions.
  1. +75 −0 gocover_test.go
View
@@ -0,0 +1,75 @@
+package main
+
+import (
+ "reflect"
+ "testing"
+
+ "golang.org/x/tools/cover"
+)
+
+func TestMergeProfs(t *testing.T) {
+ tests := []struct {
+ in [][]*cover.Profile
+ want []*cover.Profile
+ }{
+ // empty
+ {in: nil, want: nil},
+ // The number of profiles is 1
+ {in: [][]*cover.Profile{[]*cover.Profile{{FileName: "name1"}}}, want: []*cover.Profile{{FileName: "name1"}}},
+ // merge profile blocks
+ {
+ in: [][]*cover.Profile{
+ []*cover.Profile{}, // skip first empty profiles.
+ []*cover.Profile{
+ {
+ FileName: "name1",
+ Blocks: []cover.ProfileBlock{
+ cover.ProfileBlock{StartLine: 1, StartCol: 1, Count: 1},
+ },
+ },
+ {
+ FileName: "name2",
+ Blocks: []cover.ProfileBlock{
+ cover.ProfileBlock{StartLine: 1, StartCol: 1, Count: 0},
+ },
+ },
+ },
+ []*cover.Profile{}, // skip first empty profiles.
+ []*cover.Profile{
+ {
+ FileName: "name1",
+ Blocks: []cover.ProfileBlock{
+ cover.ProfileBlock{StartLine: 1, StartCol: 1, Count: 1},
+ },
+ },
+ {
+ FileName: "name2",
+ Blocks: []cover.ProfileBlock{
+ cover.ProfileBlock{StartLine: 1, StartCol: 1, Count: 1},
+ },
+ },
+ },
+ },
+ want: []*cover.Profile{
+ {
+ FileName: "name1",
+ Blocks: []cover.ProfileBlock{
+ cover.ProfileBlock{StartLine: 1, StartCol: 1, Count: 2},
+ },
+ },
+ {
+ FileName: "name2",
+ Blocks: []cover.ProfileBlock{
+ cover.ProfileBlock{StartLine: 1, StartCol: 1, Count: 1},
+ },
+ },
+ },
+ },
+ }
+
+ for _, tt := range tests {
+ if got := mergeProfs(tt.in); !reflect.DeepEqual(got, tt.want) {
+ t.Errorf("mergeProfs(%#v) = %#v, want %#v", tt.in, got, tt.want)
+ }
+ }
+}

0 comments on commit 23dab33

Please sign in to comment.