commit 8fa9cfe59876eb53b289e45dcc9425154d896f6b
Author:     Jan Galinski <jan.galin...@holisticon.de>
AuthorDate: Thu, 9 May 2013 11:56:21 +0200
Commit:     Jan Galinski <jan.galin...@holisticon.de>
CommitDate: Thu, 9 May 2013 11:56:21 +0200

    assure that Constructor injection works

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
new file mode 100644
index 0000000..dcf8cfd
--- /dev/null
+++ 
b/examples/trader-needle/src/test/java/org/jbehave/examples/trader/needle/NeedleTraderStepsConstructorInjectionTest.java
@@ -0,0 +1,44 @@
+package org.jbehave.examples.trader.needle;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+
+import org.jbehave.examples.trader.model.Trader;
+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;
+
+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();
+
+  @ObjectUnderTest
+  private NeedleTraderSteps needleTraderSteps;
+
+  @Test
+  public void shouldCreateNewInstanceByConstructorInjection() {
+    assertNotNull(needleTraderSteps.getService());
+    final Trader newTrader = needleTraderSteps.getService().newTrader(FOO, 
BAR);
+    assertNotNull(newTrader);
+    assertThat(newTrader.getName(), is(FOO));
+    assertThat(newTrader.getRank(), is(BAR));
+  }
+
+}



Reply via email to