@@ -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"
@@ -66,27 +67,45 @@ func TestErrorList_Reset(t *testing.T) {
66
67
}
67
68
}
68
69
69
- func TestErrorList_Sort (t * testing.T ) {
70
- tests := []struct {
71
- name string
72
- p list
73
- }{
74
- // TODO: Add test cases.
75
- }
76
- for _ , tt := range tests {
77
- tt .p .Sort ()
78
- }
79
- }
80
-
81
70
func TestErrorList_RemoveMultiples (t * testing.T ) {
71
+ error1 := Promote (fmt .Errorf ("error1" ), "msg1" )
72
+ error2 := Promote (fmt .Errorf ("error2" ), "msg2" )
73
+
82
74
tests := []struct {
83
75
name string
84
- p * list
76
+ p list
77
+ want list
85
78
}{
86
- // TODO: Add test cases.
79
+ {
80
+ name : "SingleError" ,
81
+ p : list {error1 },
82
+ want : list {error1 },
83
+ },
84
+ {
85
+ name : "TwoErrorsNoDuplicatesOrder12" ,
86
+ p : list {error1 , error2 },
87
+ want : list {error1 , error2 },
88
+ },
89
+ {
90
+ name : "TwoErrorsNoDuplicatesOrder21" ,
91
+ p : list {error2 , error1 },
92
+ want : list {error2 , error1 },
93
+ },
94
+ {
95
+ name : "TwoErrorsDuplicates" ,
96
+ p : list {error1 , error1 },
97
+ want : list {error1 },
98
+ },
99
+ {
100
+ name : "ThreeErrorsPreserveOrder" ,
101
+ p : list {error1 , error2 , error1 },
102
+ want : list {error1 , error2 },
103
+ },
87
104
}
88
105
for _ , tt := range tests {
89
- tt .p .RemoveMultiples ()
106
+ if got := tt .p .RemoveMultiples (); ! slices .Equal (got , tt .want ) {
107
+ t .Errorf ("%q. list.RemoveMultiples() list = %v, want = %v" , tt .name , got , tt .want )
108
+ }
90
109
}
91
110
}
92
111
0 commit comments