@Test public void shouldIncreaseObjectCounterAfterEachObject() { systemUnderTest.setBatchSize(3); systemUnderTest.process("1"); systemUnderTest.process("2"); assertThat(systemUnderTest.getObjectCount()) .isEqualTo(2); }
@Test public void shouldEmitResetStreamAfterBatchSizeObjects() { systemUnderTest.setBatchSize(3); systemUnderTest.process("1"); systemUnderTest.process("2"); systemUnderTest.process("3"); InOrder ordered = inOrder(receiver); ordered.verify(receiver).process("1"); ordered.verify(receiver).process("2"); ordered.verify(receiver).process("3"); ordered.verify(receiver).resetStream(); verifyNoMoreInteractions(receiver); }
@Test public void shouldIncreaseBatchCountAfterEachBatch() { systemUnderTest.setBatchSize(2); systemUnderTest.process("1"); systemUnderTest.process("2"); systemUnderTest.process("3"); systemUnderTest.process("4"); assertThat(systemUnderTest.getBatchCount()) .isEqualTo(2); }
@Test public void shouldResetObjectCountOnBatchCompletion() { systemUnderTest.setBatchSize(2); systemUnderTest.process("1"); systemUnderTest.process("2"); assertThat(systemUnderTest.getObjectCount()) .isZero(); }
@Test public void shouldEmitResetStreamEventAfterUpdatingCounts() { systemUnderTest.setBatchSize(2); systemUnderTest.setReceiver(new DefaultObjectReceiver<String>() { @Override public void resetStream() { assertThat(systemUnderTest.getObjectCount()).isZero(); assertThat(systemUnderTest.getBatchCount()).isEqualTo(1); } }); systemUnderTest.process("1"); systemUnderTest.process("2"); }
@Test public void shouldResetCountsOnResetStream() { systemUnderTest.setBatchSize(2); systemUnderTest.process("1"); systemUnderTest.process("2"); systemUnderTest.process("3"); systemUnderTest.resetStream(); assertThat(systemUnderTest.getBatchCount()) .isZero(); assertThat(systemUnderTest.getObjectCount()) .isZero(); }