diff --git a/batchconsumer/batcher/message_batcher_test.go b/batchconsumer/batcher/message_batcher_test.go index fc9c6fe..9215da7 100644 --- a/batchconsumer/batcher/message_batcher_test.go +++ b/batchconsumer/batcher/message_batcher_test.go @@ -213,3 +213,40 @@ func TestUpdatingSequence(t *testing.T) { sync.waitForFlush(time.Minute) assert.Nil(batcher.SmallestSequencePair().Sequence) } + +func TestSequencePairIsLessThan(t *testing.T) { + assert := assert.New(t) + + big10 := big.NewInt(10) + big5 := big.NewInt(5) + + tests := []struct { + left SequencePair + right SequencePair + isLess bool + }{ + {left: SequencePair{nil, 0}, right: SequencePair{nil, 0}, isLess: false}, + {left: SequencePair{nil, 0}, right: SequencePair{big10, 10}, isLess: false}, + + {left: SequencePair{big10, 0}, right: SequencePair{nil, 0}, isLess: true}, + + {left: SequencePair{big5, 0}, right: SequencePair{big10, 0}, isLess: true}, + {left: SequencePair{big5, 0}, right: SequencePair{big5, 10}, isLess: true}, + + {left: SequencePair{big10, 0}, right: SequencePair{big5, 0}, isLess: false}, + {left: SequencePair{big5, 10}, right: SequencePair{big5, 0}, isLess: false}, + } + + for _, test := range tests { + left := test.left + right := test.right + t.Logf( + "Is <%s, %d> less than <%s, %d>? %t", + left.Sequence.String(), left.SubSequence, + right.Sequence.String(), right.SubSequence, + test.isLess, + ) + + assert.Equal(test.isLess, left.IsLessThan(right)) + } +}