Support order assertions on `sort.Interface` types
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 38/100
Research direction
Start by reading Go's sort.Interface documentation and the existing assertion entry points around assert.IsIncreasing. Determine how the requested assertion should accept a sort.Interface implementation, then add coverage for the segments example and verify that increasing and non-increasing inputs produce the expected results.
Written by the indexing model from the issue text.
Description
Given the following type implementing the sort interface
type segment struct {
left int
right int
}
type segments []segment
func (l *segments) Len() int {
return len([]segment(*l))
}
func (l *segments) Less(i, j int) bool {
data := []segment(*l)
return data[i].left < data[j].left || (data[i].left == data[j].left && data[i].right < data[j].right)
}
func (l *segments) Swap(i, j int) {
data := []segment(*l)
data[i], data[j] = data[j], data[i]
}
I should be able to perform sort assertions
sample := segments([]segment{
{1, 2},
{3, 4},
})
assert.IsIncreasing(t, &sample)
- Dominant language
- Go
- Stars
- 26.2k
- Forks
- 1.9k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from stretchr/testify
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
internal/cleanup
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
All issues in stretchr/testify
Similar issues
-
optimization optimization:agents-md-curator
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
githubnext/gh-aw-cao#13143 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
blinklabs-io/bursa#904 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
yanet-platform/ipfw-go#129 ·
-
bug confmap/provider/googlesecretmanagerprovider needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
open-telemetry/opentelemetry-collector-contrib#51273 · 2 comments ·
-
bug: AI Gateway client filter lists "Unknown" twice when NULL and literal Unknown clients coexist Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 90/100