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)
Given the following type implementing the sort interface
I should be able to perform sort assertions