DecoratorExecutor { public void processBeforeAll(final TestInvocation invocation) throws Exception { final Iterator<TestClassDecorator> it = classDecoratorIterator(invocation.getContext(), BEFORE_COMPARATOR); while (it.hasNext()) { it.next().beforeAll(invocation); } }  void processBeforeAll(final TestInvocation invocation); void processAfterAll(final TestInvocation invocation); void processBefore(final TestInvocation invocation); void processAfter(final TestInvocation invocation);  }
@Test public void testProcessBeforeAllTestDecoratorExecutionOrder() throws Exception { final DecoratorExecutor unit = new DecoratorExecutor(); unit.processBeforeAll(invocation); final InOrder order = inOrder(firstClassDecorator, secondClassDecorator); order.verify(firstClassDecorator).beforeAll(eq(invocation)); order.verify(secondClassDecorator).beforeAll(eq(invocation)); verifyZeroInteractions(firstMethodDecorator, secondMethodDecorator); }