diff --git a/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/AnnotatationBasedSpecOrderer.java b/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/AnnotatationBasedSpecOrderer.java index ac234e3677..953ee1973b 100644 --- a/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/AnnotatationBasedSpecOrderer.java +++ b/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/AnnotatationBasedSpecOrderer.java @@ -5,7 +5,6 @@ import spock.lang.Order; import java.util.Collection; -import java.util.concurrent.atomic.AtomicInteger; public class AnnotatationBasedSpecOrderer extends SpecOrderer { public AnnotatationBasedSpecOrderer() { @@ -21,12 +20,10 @@ protected void orderSpecs(Collection specs) { } @Override - protected void orderFeatures(Collection specs) { - for (SpecInfo spec : specs) { - for (FeatureInfo feature : spec.getAllFeatures()) { - Order orderAnnotation = feature.getFeatureMethod().getAnnotation(Order.class); - feature.setExecutionOrder(orderAnnotation == null ? 0 : orderAnnotation.value()); - } + protected void orderFeatures(Collection features) { + for (FeatureInfo feature : features) { + Order orderAnnotation = feature.getFeatureMethod().getAnnotation(Order.class); + feature.setExecutionOrder(orderAnnotation == null ? 0 : orderAnnotation.value()); } } } diff --git a/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/DefaultSpecOrderer.java b/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/DefaultSpecOrderer.java index 7d115791ac..b1efc71d51 100644 --- a/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/DefaultSpecOrderer.java +++ b/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/DefaultSpecOrderer.java @@ -1,5 +1,6 @@ package org.spockframework.runtime.extension.builtin.orderer; +import org.spockframework.runtime.model.FeatureInfo; import org.spockframework.runtime.model.SpecInfo; import java.util.Collection; @@ -13,5 +14,5 @@ public DefaultSpecOrderer() { protected void orderSpecs(Collection specs) { } @Override - protected void orderFeatures(Collection specs) { } + protected void orderFeatures(Collection features) { } } diff --git a/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/RandomSpecOrderer.java b/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/RandomSpecOrderer.java index 186a6a9482..5774c06107 100644 --- a/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/RandomSpecOrderer.java +++ b/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/RandomSpecOrderer.java @@ -5,7 +5,6 @@ import java.util.Collection; import java.util.Random; -import java.util.concurrent.atomic.AtomicInteger; public class RandomSpecOrderer extends SpecOrderer { private final Random random; @@ -30,10 +29,8 @@ protected void orderSpecs(Collection specs) { } @Override - protected void orderFeatures(Collection specs) { - for (SpecInfo spec : specs) { - for (FeatureInfo feature : spec.getAllFeatures()) - feature.setExecutionOrder(random.nextInt()); - } + protected void orderFeatures(Collection features) { + for (FeatureInfo feature : features) + feature.setExecutionOrder(random.nextInt()); } } diff --git a/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/SpecOrderer.java b/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/SpecOrderer.java index 70bff7262a..13e33c5540 100644 --- a/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/SpecOrderer.java +++ b/spock-core/src/main/java/org/spockframework/runtime/extension/builtin/orderer/SpecOrderer.java @@ -18,12 +18,15 @@ public SpecOrderer(boolean orderSpecs, boolean orderFeatures) { public void process(Collection specs) { if (orderSpecs) orderSpecs(specs); - if (orderFeatures) - orderFeatures(specs); + if (!orderFeatures) + return; + for (SpecInfo spec : specs) + orderFeatures(spec.getAllFeatures()); } protected abstract void orderSpecs(Collection specs); - protected abstract void orderFeatures(Collection specs); + + protected abstract void orderFeatures(Collection features); public boolean isOrderSpecs() { return orderSpecs;