Skip to content

Commit 4591a5a

Browse files
committed
Add tests for stable ordering
Signed-off-by: Graham Dennis <[email protected]>
1 parent b8f87dc commit 4591a5a

File tree

1 file changed

+34
-15
lines changed

1 file changed

+34
-15
lines changed

Diff for: cue/errors/errors_test.go

+34-15
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ package errors
1717
import (
1818
"bytes"
1919
"fmt"
20+
"slices"
2021
"testing"
2122

2223
"cuelang.org/go/cue/token"
@@ -66,27 +67,45 @@ func TestErrorList_Reset(t *testing.T) {
6667
}
6768
}
6869

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-
8170
func TestErrorList_RemoveMultiples(t *testing.T) {
71+
error1 := Promote(fmt.Errorf("error1"), "msg1")
72+
error2 := Promote(fmt.Errorf("error2"), "msg2")
73+
8274
tests := []struct {
8375
name string
84-
p *list
76+
p list
77+
want list
8578
}{
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+
},
87104
}
88105
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+
}
90109
}
91110
}
92111

0 commit comments

Comments
 (0)