public class TestTopAggregator {
@Test
public void testTopAggregatorTopTenCombine() {
final List<EmitValue> values = new ArrayList<EmitValue>();
values.add(new EmitValue("two"));
values.add(new EmitValue("twelve"));
values.add(new EmitValue("eleven"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("thirteen"));
values.add(new EmitValue("twelve"));
values.add(new EmitValue("thirteen"));
values.add(new EmitValue("eleven"));
values.add(new EmitValue("four"));
values.add(new EmitValue("six"));
values.add(new EmitValue("two"));
values.add(new EmitValue("twelve"));
values.add(new EmitValue("thirteen"));
values.add(new EmitValue("six"));
values.add(new EmitValue("eleven"));
values.add(new EmitValue("twelve"));
values.add(new EmitValue("thirteen"));
values.add(new EmitValue("four"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("twelve"));
values.add(new EmitValue("six"));
values.add(new EmitValue("seven"));
values.add(new EmitValue("four"));
values.add(new EmitValue("six"));
values.add(new EmitValue("eleven"));
values.add(new EmitValue("twelve"));
values.add(new EmitValue("four"));
values.add(new EmitValue("thirteen"));
values.add(new EmitValue("six"));
values.add(new EmitValue("twelve"));
values.add(new EmitValue("eleven"));
values.add(new EmitValue("seven"));
values.add(new EmitValue("twelve"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("six"));
values.add(new EmitValue("eleven"));
values.add(new EmitValue("ten"));
values.add(new EmitValue("nine"));
values.add(new EmitValue("thirteen"));
values.add(new EmitValue("twelve"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("twelve"));
values.add(new EmitValue("nine"));
values.add(new EmitValue("ten"));
values.add(new EmitValue("seven"));
values.add(new EmitValue("eight"));
values.add(new EmitValue("nine"));
values.add(new EmitValue("eleven"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("eight"));
values.add(new EmitValue("ten"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("three"));
values.add(new EmitValue("thirteen"));
values.add(new EmitValue("nine"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("seven"));
values.add(new EmitValue("three"));
values.add(new EmitValue("five"));
values.add(new EmitValue("eight"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("thirteen"));
values.add(new EmitValue("ten"));
values.add(new EmitValue("seven"));
values.add(new EmitValue("ten"));
values.add(new EmitValue("eight"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("nine"));
values.add(new EmitValue("three"));
values.add(new EmitValue("five"));
values.add(new EmitValue("eleven"));
values.add(new EmitValue("seven"));
values.add(new EmitValue("ten"));
values.add(new EmitValue("nine"));
values.add(new EmitValue("five"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("twelve"));
values.add(new EmitValue("nine"));
values.add(new EmitValue("eleven"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("five"));
values.add(new EmitValue("thirteen"));
values.add(new EmitValue("seven"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("one"));
values.add(new EmitValue("nine"));
values.add(new EmitValue("eight"));
values.add(new EmitValue("thirteen"));
values.add(new EmitValue("nine"));
values.add(new EmitValue("ten"));
values.add(new EmitValue("ten"));
values.add(new EmitValue("twelve"));
values.add(new EmitValue("eight"));
values.add(new EmitValue("thirteen"));
values.add(new EmitValue("eleven"));
values.add(new EmitValue("ten"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("thirteen"));
values.add(new EmitValue("eight"));
values.add(new EmitValue("eleven"));
values.add(new EmitValue("ten"));
values.add(new EmitValue("thirteen"));
values.add(new EmitValue("five"));
values.add(new EmitValue("fourteen"));
values.add(new EmitValue("eight"));
final ReduceDriver<EmitKey, EmitValue, EmitKey, EmitValue> reduceDriver = new ReduceDriver<EmitKey, EmitValue, EmitKey, EmitValue>(
new TopSizzleCombiner());
reduceDriver.setInput(new EmitKey("test"), values);
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("ten", 10));
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("five", 5));
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("one", 1));
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("eleven", 11));
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("nine", 9));
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("eight", 8));
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("six", 6));
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("two", 2));
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("seven", 7));
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("three", 3));
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("twelve", 12));
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("fourteen", 14));
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("four", 4));
reduceDriver.addOutput(new EmitKey("test"), new EmitValue("thirteen", 13));
reduceDriver.runTest();
}