commit 4af1d41e7b6af34e83e4631adfd8efdc3796b58d
Author: Jan Galinski <[email protected]>
AuthorDate: Wed, 8 May 2013 16:45:40 +0200
Commit: Jan Galinski <[email protected]>
CommitDate: Wed, 8 May 2013 16:45:40 +0200
fixed assertThatStepsInstancesAre() so that the order of annotation entries
or stepsClasses does not matter
diff --git
a/jbehave-needle/src/test/java/org/jbehave/core/configuration/needle/NeedleAnnotationBuilderBehaviour.java
b/jbehave-needle/src/test/java/org/jbehave/core/configuration/needle/NeedleAnnotationBuilderBehaviour.java
index 63e2689..369892e 100644
---
a/jbehave-needle/src/test/java/org/jbehave/core/configuration/needle/NeedleAnnotationBuilderBehaviour.java
+++
b/jbehave-needle/src/test/java/org/jbehave/core/configuration/needle/NeedleAnnotationBuilderBehaviour.java
@@ -2,9 +2,9 @@ package org.jbehave.core.configuration.needle;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.hasItems;
import static org.hamcrest.Matchers.instanceOf;
import static org.hamcrest.Matchers.is;
+import static org.hamcrest.collection.IsCollectionContaining.hasItems;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@@ -13,7 +13,9 @@ import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import org.jbehave.core.annotations.Configure;
import org.jbehave.core.annotations.UsingSteps;
@@ -184,16 +186,17 @@ public class NeedleAnnotationBuilderBehaviour {
assertThat((String) getter.getValue(), is(ValueGetter.VALUE));
}
- // TODO currently this method depends on order of elements in annotation
- // FIXME provide sorting of array
private void assertThatStepsInstancesAre(
final List<CandidateSteps> candidateSteps,
final Class<?>... stepsClasses) {
assertThat(candidateSteps.size(), equalTo(stepsClasses.length));
- for (int i = 0; i < stepsClasses.length; i++) {
- assertThat(((Steps) candidateSteps.get(i)).instance(),
- instanceOf(stepsClasses[i]));
+
+ // transform candidateSteps to Set of classes
+ final Set<Class<?>> candidateStepClasses = new
HashSet<Class<?>>();
+ for (final CandidateSteps step : candidateSteps) {
+ candidateStepClasses.add(((Steps)
step).instance().getClass());
}
+ assertThat(candidateStepClasses, hasItems(stepsClasses));
}
@Configure()