use of com.yahoo.bullet.parsing.Window in project bullet-core by yahoo.
the class SlidingRecordTest method testReachingWindowSizeOnCombine.
@Test
public void testReachingWindowSizeOnCombine() {
Window window = makeSlidingWindow(10);
SlidingRecord sliding = new SlidingRecord(strategy, window, config);
Assert.assertFalse(sliding.initialize().isPresent());
Assert.assertFalse(sliding.isClosed());
Assert.assertFalse(sliding.isClosedForPartition());
for (int i = 0; i < 6; ++i) {
sliding.consume(RecordBox.get().getRecord());
Assert.assertFalse(sliding.isClosed());
Assert.assertTrue(sliding.isClosedForPartition());
}
Assert.assertEquals(strategy.getConsumeCalls(), 6);
byte[] data = sliding.getData();
// Remake
strategy = new MockStrategy();
sliding = new SlidingRecord(strategy, window, config);
Assert.assertFalse(sliding.initialize().isPresent());
// Combine in the old data
sliding.combine(data);
for (int i = 0; i < 3; ++i) {
sliding.consume(RecordBox.get().getRecord());
Assert.assertFalse(sliding.isClosed());
Assert.assertTrue(sliding.isClosedForPartition());
}
Assert.assertFalse(sliding.isClosed());
Assert.assertTrue(sliding.isClosedForPartition());
sliding.consume(RecordBox.get().getRecord());
Assert.assertTrue(sliding.isClosed());
Assert.assertTrue(sliding.isClosedForPartition());
Assert.assertEquals(strategy.getConsumeCalls(), 4);
Assert.assertEquals(strategy.getCombineCalls(), 1);
}
use of com.yahoo.bullet.parsing.Window in project bullet-core by yahoo.
the class SlidingRecordTest method testResettingForPartition.
@Test
public void testResettingForPartition() {
Window window = makeSlidingWindow(5);
SlidingRecord sliding = new SlidingRecord(strategy, window, config);
Assert.assertFalse(sliding.initialize().isPresent());
Assert.assertEquals(strategy.getResetCalls(), 0);
for (int i = 0; i < 4; ++i) {
sliding.consume(RecordBox.get().getRecord());
Assert.assertFalse(sliding.isClosed());
Assert.assertTrue(sliding.isClosedForPartition());
}
Assert.assertEquals(strategy.getConsumeCalls(), 4);
sliding.consume(RecordBox.get().getRecord());
Assert.assertTrue(sliding.isClosed());
Assert.assertTrue(sliding.isClosedForPartition());
sliding.resetForPartition();
Assert.assertFalse(sliding.isClosed());
Assert.assertFalse(sliding.isClosedForPartition());
Assert.assertEquals(strategy.getConsumeCalls(), 5);
Assert.assertEquals(strategy.getResetCalls(), 1);
}
use of com.yahoo.bullet.parsing.Window in project bullet-core by yahoo.
the class SlidingRecordTest method testCreation.
@Test
public void testCreation() {
Window window = makeSlidingWindow(10);
SlidingRecord sliding = new SlidingRecord(strategy, window, config);
Assert.assertFalse(sliding.initialize().isPresent());
Assert.assertFalse(sliding.isClosed());
Assert.assertFalse(sliding.isClosedForPartition());
}
use of com.yahoo.bullet.parsing.Window in project bullet-core by yahoo.
the class SlidingRecordTest method testReachingWindowSizeOnConsume.
@Test
public void testReachingWindowSizeOnConsume() {
Window window = makeSlidingWindow(5);
SlidingRecord sliding = new SlidingRecord(strategy, window, config);
Assert.assertFalse(sliding.initialize().isPresent());
Assert.assertFalse(sliding.isClosed());
Assert.assertFalse(sliding.isClosedForPartition());
for (int i = 0; i < 4; ++i) {
sliding.consume(RecordBox.get().getRecord());
Assert.assertFalse(sliding.isClosed());
Assert.assertTrue(sliding.isClosedForPartition());
}
sliding.consume(RecordBox.get().getRecord());
Assert.assertTrue(sliding.isClosed());
Assert.assertTrue(sliding.isClosedForPartition());
Assert.assertEquals(strategy.getConsumeCalls(), 5);
}
use of com.yahoo.bullet.parsing.Window in project bullet-core by yahoo.
the class TumblingTest method makeTumblingWindow.
private Window makeTumblingWindow(int length) {
Window window = WindowUtils.makeTumblingWindow(length);
window.configure(config);
window.initialize();
return window;
}
Aggregations