mirror of https://github.com/apache/druid.git
add tests for empty sequences
This commit is contained in:
parent
d4ca805cb9
commit
d19b895fb9
|
@ -20,6 +20,7 @@
|
||||||
package io.druid.collections;
|
package io.druid.collections;
|
||||||
|
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.collect.Ordering;
|
import com.google.common.collect.Ordering;
|
||||||
import com.metamx.common.guava.BaseSequence;
|
import com.metamx.common.guava.BaseSequence;
|
||||||
|
@ -28,7 +29,7 @@ import com.metamx.common.guava.Sequence;
|
||||||
import com.metamx.common.guava.SequenceTestHelper;
|
import com.metamx.common.guava.SequenceTestHelper;
|
||||||
import com.metamx.common.guava.Sequences;
|
import com.metamx.common.guava.Sequences;
|
||||||
import com.metamx.common.guava.TestSequence;
|
import com.metamx.common.guava.TestSequence;
|
||||||
import junit.framework.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
@ -59,6 +60,61 @@ public class OrderedMergeSequenceTest
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMergeEmptySequence() throws Exception
|
||||||
|
{
|
||||||
|
final ArrayList<TestSequence<Integer>> testSequences = Lists.newArrayList(
|
||||||
|
TestSequence.create(ImmutableList.<Integer>of()),
|
||||||
|
TestSequence.create(2, 8),
|
||||||
|
TestSequence.create(4, 6, 8)
|
||||||
|
);
|
||||||
|
|
||||||
|
OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.<Integer>natural(), testSequences);
|
||||||
|
|
||||||
|
SequenceTestHelper.testAll(seq, Arrays.asList(2, 4, 6, 8, 8));
|
||||||
|
|
||||||
|
for (TestSequence<Integer> sequence : testSequences) {
|
||||||
|
Assert.assertTrue(sequence.isClosed());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMergeEmptySequenceAtEnd() throws Exception
|
||||||
|
{
|
||||||
|
final ArrayList<TestSequence<Integer>> testSequences = Lists.newArrayList(
|
||||||
|
TestSequence.create(2, 8),
|
||||||
|
TestSequence.create(4, 6, 8),
|
||||||
|
TestSequence.create(ImmutableList.<Integer>of())
|
||||||
|
);
|
||||||
|
|
||||||
|
OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.<Integer>natural(), testSequences);
|
||||||
|
|
||||||
|
SequenceTestHelper.testAll(seq, Arrays.asList(2, 4, 6, 8, 8));
|
||||||
|
|
||||||
|
for (TestSequence<Integer> sequence : testSequences) {
|
||||||
|
Assert.assertTrue(sequence.isClosed());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMergeEmptySequenceMiddle() throws Exception
|
||||||
|
{
|
||||||
|
final ArrayList<TestSequence<Integer>> testSequences = Lists.newArrayList(
|
||||||
|
TestSequence.create(2, 8),
|
||||||
|
TestSequence.create(ImmutableList.<Integer>of()),
|
||||||
|
TestSequence.create(4, 6, 8)
|
||||||
|
);
|
||||||
|
|
||||||
|
OrderedMergeSequence<Integer> seq = makeMergedSequence(Ordering.<Integer>natural(), testSequences);
|
||||||
|
|
||||||
|
SequenceTestHelper.testAll(seq, Arrays.asList(2, 4, 6, 8, 8));
|
||||||
|
|
||||||
|
for (TestSequence<Integer> sequence : testSequences) {
|
||||||
|
Assert.assertTrue(sequence.isClosed());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testScrewsUpOnOutOfOrderBeginningOfList() throws Exception
|
public void testScrewsUpOnOutOfOrderBeginningOfList() throws Exception
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue