commit c8b4a7d7dfd3499b279082bbf1c8f8691f25ca10
Author:     Jan Galinski <jan.galin...@holisticon.de>
AuthorDate: Thu, 9 May 2013 12:03:31 +0200
Commit:     Jan Galinski <jan.galin...@holisticon.de>
CommitDate: Thu, 9 May 2013 12:03:31 +0200

    enable constructor injection

diff --git 
a/examples/trader-needle/src/main/java/org/jbehave/examples/trader/needle/NeedleTraderSteps.java
 
b/examples/trader-needle/src/main/java/org/jbehave/examples/trader/needle/NeedleTraderSteps.java
index 77be1d9..7cfb311 100644
--- 
a/examples/trader-needle/src/main/java/org/jbehave/examples/trader/needle/NeedleTraderSteps.java
+++ 
b/examples/trader-needle/src/main/java/org/jbehave/examples/trader/needle/NeedleTraderSteps.java
@@ -11,15 +11,8 @@ import org.jbehave.examples.trader.steps.TraderSteps;
 public class NeedleTraderSteps extends TraderSteps {
 
   @Inject
-       private TradingService injectedService;
-
-       public NeedleTraderSteps() {
-
-       }
-
-       @Override
-       public TradingService getService() {
-               return this.injectedService;
+  public NeedleTraderSteps(final TradingService service) {
+    super(service);
   }
 
 }
diff --git 
a/examples/trader-needle/src/test/java/org/jbehave/examples/trader/needle/NeedleTraderStepsConstructorInjectionTest.java
 
b/examples/trader-needle/src/test/java/org/jbehave/examples/trader/needle/NeedleTraderStepsConstructorInjectionTest.java
index dcf8cfd..c1d284b 100644
--- 
a/examples/trader-needle/src/test/java/org/jbehave/examples/trader/needle/NeedleTraderStepsConstructorInjectionTest.java
+++ 
b/examples/trader-needle/src/test/java/org/jbehave/examples/trader/needle/NeedleTraderStepsConstructorInjectionTest.java
@@ -5,29 +5,26 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
 
 import org.jbehave.examples.trader.model.Trader;
+import 
org.jbehave.examples.trader.needle.provider.TraderServiceInjectionProvider;
 import org.jbehave.examples.trader.service.TradingService;
 import org.junit.Rule;
 import org.junit.Test;
 
-import de.akquinet.jbosscc.needle.annotation.InjectIntoMany;
 import de.akquinet.jbosscc.needle.annotation.ObjectUnderTest;
 import de.akquinet.jbosscc.needle.junit.NeedleRule;
 
+/**
+ * Assure constructor injection with {@link TradingService} works.
+ * 
+ * @author Jan Galinski, Holisticon AG
+ */
 public class NeedleTraderStepsConstructorInjectionTest {
 
   private static final String BAR = "bar";
   private static final String FOO = "foo";
 
   @Rule
-  public final NeedleRule needleRule = new NeedleRule();
-
-  /**
-   * Constructor Injection on needleTraderSteps works. But needle creates a 
mock
-   * of {@link TradingService} by default. By using {@link InjectIntoMany}, a
-   * concrete instance is bound.
-   */
-  @InjectIntoMany
-  private final TradingService tradingService = new TradingService();
+  public final NeedleRule needleRule = new NeedleRule(new 
TraderServiceInjectionProvider());
 
   @ObjectUnderTest
   private NeedleTraderSteps needleTraderSteps;



Reply via email to