github.com/Jeffail/benthos/v3@v3.65.0/internal/message/sort_group_test.go (about) 1 package message 2 3 import ( 4 "testing" 5 6 "github.com/Jeffail/benthos/v3/lib/message" 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestNestedSortGroups(t *testing.T) { 11 msg := message.New(nil) 12 msg.Append(message.NewPart([]byte("first"))) 13 msg.Append(message.NewPart([]byte("second"))) 14 15 group1, msg1 := NewSortGroup(msg) 16 17 assert.Equal(t, -1, group1.GetIndex(msg.Get(0))) 18 assert.Equal(t, -1, group1.GetIndex(msg.Get(1))) 19 20 assert.Equal(t, 0, group1.GetIndex(msg1.Get(0))) 21 assert.Equal(t, 1, group1.GetIndex(msg1.Get(1))) 22 23 msg1Reordered := message.New(nil) 24 msg1Reordered.Append(msg1.Get(1)) 25 msg1Reordered.Append(msg1.Get(0)) 26 27 group2, msg2 := NewSortGroup(msg1Reordered) 28 29 assert.Equal(t, -1, group1.GetIndex(msg.Get(0))) 30 assert.Equal(t, -1, group1.GetIndex(msg.Get(1))) 31 32 assert.Equal(t, 0, group1.GetIndex(msg1.Get(0))) 33 assert.Equal(t, 1, group1.GetIndex(msg1.Get(1))) 34 35 assert.Equal(t, -1, group2.GetIndex(msg.Get(0))) 36 assert.Equal(t, -1, group2.GetIndex(msg.Get(1))) 37 38 assert.Equal(t, -1, group2.GetIndex(msg1.Get(0))) 39 assert.Equal(t, -1, group2.GetIndex(msg1.Get(1))) 40 41 assert.Equal(t, 0, group2.GetIndex(msg2.Get(0))) 42 assert.Equal(t, 1, group2.GetIndex(msg2.Get(1))) 43 44 assert.Equal(t, 1, group1.GetIndex(msg2.Get(0))) 45 assert.Equal(t, 0, group1.GetIndex(msg2.Get(1))) 46 }