@Test
public void each_feature_start_callback_should_be_invoked_when_Feature_execution_starts() {
final MByHave8Hooks hooks = Mockito.mock(MByHave8Hooks.class);
final InOrder inOrder = Mockito.inOrder(hooks);
final MByHaveSpec spec = new MByHaveSpec() {{
Feature("Test Feature1", Scenario("Scenario 1"));
Feature("Test Feature2", Scenario("Scenario 2"));
}};
spec.registerHooks(hooks);
spec.execute();
final ArgumentCaptor<Feature> featureCaptor = ArgumentCaptor.forClass(Feature.class);
inOrder.verify(hooks).startFeature(featureCaptor.capture());
inOrder.verify(hooks).endFeature(Matchers.eq(featureCaptor.getValue()), Matchers.eq(FeatureResult.Pending));
inOrder.verify(hooks).startFeature(Matchers.notNull(Feature.class));