@Test public void shouldDeferStreamEventsUntilEndRecordIsReceived() { streamDeferrer.startRecord("1"); streamDeferrer.literal("l", "v"); streamDeferrer.startEntity("e"); streamDeferrer.endEntity(); verifyZeroInteractions(receiver); streamDeferrer.endRecord(); InOrder ordered = inOrder(receiver); ordered.verify(receiver).startRecord("1"); ordered.verify(receiver).literal("l", "v"); ordered.verify(receiver).startEntity("e"); ordered.verify(receiver).endEntity(); ordered.verify(receiver).endRecord(); }