@@ -17,6 +17,7 @@ package errors
17
17
import (
18
18
"bytes"
19
19
"fmt"
20
+ "slices"
20
21
"testing"
21
22
22
23
"cuelang.org/go/cue/token"
@@ -79,14 +80,44 @@ func TestErrorList_Sort(t *testing.T) {
79
80
}
80
81
81
82
func TestErrorList_RemoveMultiples (t * testing.T ) {
83
+ error1 := Promote (fmt .Errorf ("error1" ), "msg1" )
84
+ error2 := Promote (fmt .Errorf ("error2" ), "msg2" )
85
+
82
86
tests := []struct {
83
87
name string
84
- p * list
88
+ p list
89
+ want list
85
90
}{
86
- // TODO: Add test cases.
91
+ {
92
+ name : "SingleError" ,
93
+ p : list {error1 },
94
+ want : list {error1 },
95
+ },
96
+ {
97
+ name : "TwoErrorsNoDuplicatesOrder12" ,
98
+ p : list {error1 , error2 },
99
+ want : list {error1 , error2 },
100
+ },
101
+ {
102
+ name : "TwoErrorsNoDuplicatesOrder21" ,
103
+ p : list {error2 , error1 },
104
+ want : list {error2 , error1 },
105
+ },
106
+ {
107
+ name : "TwoErrorsDuplicates" ,
108
+ p : list {error1 , error1 },
109
+ want : list {error1 },
110
+ },
111
+ {
112
+ name : "ThreeErrorsPreserveOrder" ,
113
+ p : list {error1 , error2 , error1 },
114
+ want : list {error1 , error2 },
115
+ },
87
116
}
88
117
for _ , tt := range tests {
89
- tt .p .RemoveMultiples ()
118
+ if got := tt .p .RemoveMultiples (); ! slices .Equal (got , tt .want ) {
119
+ t .Errorf ("%q. list.RemoveMultiples() list = %v, want = %v" , tt .name , got , tt .want )
120
+ }
90
121
}
91
122
}
92
123
0 commit comments