github.com/wata727/tflint@v0.12.2-0.20191013070026-96dd0d36f385/tflint/issue_test.go (about)

     1  package tflint
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/google/go-cmp/cmp"
     7  	hcl "github.com/hashicorp/hcl/v2"
     8  )
     9  
    10  func Test_Sort(t *testing.T) {
    11  	issues := Issues{
    12  		{
    13  			Rule:    &testRule{},
    14  			Message: "test",
    15  			Range: hcl.Range{
    16  				Filename: "test2.tf",
    17  				Start:    hcl.Pos{Line: 1, Column: 1},
    18  				End:      hcl.Pos{Line: 1, Column: 2},
    19  			},
    20  		},
    21  		{
    22  			Rule:    &testRule{},
    23  			Message: "test",
    24  			Range: hcl.Range{
    25  				Filename: "test1.tf",
    26  				Start:    hcl.Pos{Line: 2, Column: 1},
    27  				End:      hcl.Pos{Line: 2, Column: 2},
    28  			},
    29  		},
    30  		{
    31  			Rule:    &testRule{},
    32  			Message: "test",
    33  			Range: hcl.Range{
    34  				Filename: "test1.tf",
    35  				Start:    hcl.Pos{Line: 1, Column: 1},
    36  				End:      hcl.Pos{Line: 1, Column: 2},
    37  			},
    38  		},
    39  		{
    40  			Rule:    &testRule{},
    41  			Message: "test",
    42  			Range: hcl.Range{
    43  				Filename: "test1.tf",
    44  				Start:    hcl.Pos{Line: 1, Column: 1},
    45  				End:      hcl.Pos{Line: 2, Column: 3},
    46  			},
    47  		},
    48  		{
    49  			Rule:    &testRule{},
    50  			Message: "test",
    51  			Range: hcl.Range{
    52  				Filename: "test1.tf",
    53  				Start:    hcl.Pos{Line: 2, Column: 2},
    54  				End:      hcl.Pos{Line: 2, Column: 3},
    55  			},
    56  		},
    57  		{
    58  			Rule:    &testRule{},
    59  			Message: "test",
    60  			Range: hcl.Range{
    61  				Filename: "test1.tf",
    62  				Start:    hcl.Pos{Line: 1, Column: 1},
    63  				End:      hcl.Pos{Line: 2, Column: 4},
    64  			},
    65  		},
    66  	}
    67  
    68  	expected := Issues{
    69  		{
    70  			Rule:    &testRule{},
    71  			Message: "test",
    72  			Range: hcl.Range{
    73  				Filename: "test1.tf",
    74  				Start:    hcl.Pos{Line: 1, Column: 1},
    75  				End:      hcl.Pos{Line: 2, Column: 4},
    76  			},
    77  		},
    78  		{
    79  			Rule:    &testRule{},
    80  			Message: "test",
    81  			Range: hcl.Range{
    82  				Filename: "test1.tf",
    83  				Start:    hcl.Pos{Line: 1, Column: 1},
    84  				End:      hcl.Pos{Line: 2, Column: 3},
    85  			},
    86  		},
    87  		{
    88  			Rule:    &testRule{},
    89  			Message: "test",
    90  			Range: hcl.Range{
    91  				Filename: "test1.tf",
    92  				Start:    hcl.Pos{Line: 1, Column: 1},
    93  				End:      hcl.Pos{Line: 1, Column: 2},
    94  			},
    95  		},
    96  		{
    97  			Rule:    &testRule{},
    98  			Message: "test",
    99  			Range: hcl.Range{
   100  				Filename: "test1.tf",
   101  				Start:    hcl.Pos{Line: 2, Column: 1},
   102  				End:      hcl.Pos{Line: 2, Column: 2},
   103  			},
   104  		},
   105  		{
   106  			Rule:    &testRule{},
   107  			Message: "test",
   108  			Range: hcl.Range{
   109  				Filename: "test1.tf",
   110  				Start:    hcl.Pos{Line: 2, Column: 2},
   111  				End:      hcl.Pos{Line: 2, Column: 3},
   112  			},
   113  		},
   114  		{
   115  			Rule:    &testRule{},
   116  			Message: "test",
   117  			Range: hcl.Range{
   118  				Filename: "test2.tf",
   119  				Start:    hcl.Pos{Line: 1, Column: 1},
   120  				End:      hcl.Pos{Line: 1, Column: 2},
   121  			},
   122  		},
   123  	}
   124  
   125  	got := issues.Sort()
   126  	if !cmp.Equal(got, expected) {
   127  		t.Fatalf("Failed: diff=%s", cmp.Diff(got, expected))
   128  	}
   129  }