Ensure stable message list order in pop3/conn_test.go. v1.1.0
authorRobert Sesek <rsesek@bluestatic.org>
Mon, 2 Jan 2017 08:21:40 +0000 (03:21 -0500)
committerRobert Sesek <rsesek@bluestatic.org>
Mon, 2 Jan 2017 08:21:40 +0000 (03:21 -0500)
pop3/conn_test.go

index 50115e7514a1db2997b4413594a5608bfe98d4d7..5878eb5e287da9de4f6f6a6f90b47180a921337e 100644 (file)
@@ -9,6 +9,7 @@ import (
        "path/filepath"
        "reflect"
        "runtime"
+       "sort"
        "strings"
        "testing"
 
@@ -87,11 +88,24 @@ type testMailbox struct {
        msgs map[int]*testMessage
 }
 
+type MessageList []Message
+
+func (l MessageList) Len() int {
+       return len(l)
+}
+func (l MessageList) Less(i, j int) bool {
+       return l[i].ID() < l[j].ID()
+}
+func (l MessageList) Swap(i, j int) {
+       l[i], l[j] = l[j], l[i]
+}
+
 func (mb *testMailbox) ListMessages() ([]Message, error) {
        msgs := make([]Message, 0, len(mb.msgs))
        for i, _ := range mb.msgs {
                msgs = append(msgs, mb.msgs[i])
        }
+       sort.Sort(MessageList(msgs))
        return msgs, nil
 }