- Revision
- 930
- Author
- mauro
- Date
- 2008-09-19 04:49:42 -0500 (Fri, 19 Sep 2008)
Log Message
JBEHAVE-132: Renamed Scenario to JUnitScenario
Modified Paths
- trunk/examples/gameoflife/scenarios/pom.xml
- trunk/examples/gameoflife/src/scenario/com/lunivore/gameoflife/ICanToggleACell.java
- trunk/examples/gameoflife/src/scenario/com/lunivore/gameoflife/TheGridStartsEmpty.java
- trunk/examples/noughtsandcrosses/scenarios/pom.xml
- trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/PlayersCanHazTurns.java
- trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/PlayersCanTakeTurns.java
- trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/TheGridStartsEmpty.java
- trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/ThreeInARowWins.java
- trunk/examples/trader/src/main/java/org/jbehave/examples/trader/scenarios/StatusAlertCanBeActivated.java
- trunk/examples/trader/src/main/java/org/jbehave/examples/trader/scenarios/StatusAlertIsNeverActivated.java
- trunk/examples/trader/src/main/java/org/jbehave/examples/trader/scenarios/TraderSellsAllStocks.java
- trunk/jbehave-core/src/behaviour/org/jbehave/scenario/ScenarioBehaviour.java
- trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/CasePreservingResolverBehaviour.java
- trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/ScenarioFileLoaderBehaviour.java
- trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/UnderscoredCamelCaseResolverBehaviour.java
- trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/scenarios/MyMultipleScenario.java
- trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/scenarios/MyPendingScenario.java
- trunk/jbehave-core/src/java/org/jbehave/scenario/parser/CasePreservingResolver.java
- trunk/jbehave-core/src/java/org/jbehave/scenario/parser/ClasspathScenarioDefiner.java
- trunk/jbehave-core/src/java/org/jbehave/scenario/parser/ScenarioDefiner.java
- trunk/jbehave-core/src/java/org/jbehave/scenario/parser/ScenarioNameResolver.java
- trunk/jbehave-core/src/java/org/jbehave/scenario/parser/UnderscoredCamelCaseResolver.java
- trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/AbstractScenarioMojo.java
- trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/ScenarioClassLoader.java
- trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/ScenarioRunnerMojo.java
Added Paths
Removed Paths
Diff
Modified: trunk/examples/gameoflife/scenarios/pom.xml (929 => 930)
--- trunk/examples/gameoflife/scenarios/pom.xml 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/examples/gameoflife/scenarios/pom.xml 2008-09-19 09:49:42 UTC (rev 930) @@ -4,7 +4,7 @@ <parent> <groupId>org.jbehave</groupId> <artifactId>jbehave-examples</artifactId> - <version>2.0-SNAPSHOT</version> + <version>2.1-SNAPSHOT</version> </parent> <artifactId>jbehave-gameoflife-example-scenarios</artifactId> <name>JBehave Game of Life Example Scenarios</name>
Modified: trunk/examples/gameoflife/src/scenario/com/lunivore/gameoflife/ICanToggleACell.java (929 => 930)
--- trunk/examples/gameoflife/src/scenario/com/lunivore/gameoflife/ICanToggleACell.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/examples/gameoflife/src/scenario/com/lunivore/gameoflife/ICanToggleACell.java 2008-09-19 09:49:42 UTC (rev 930) @@ -1,14 +1,14 @@ package com.lunivore.gameoflife; import org.jbehave.scenario.PropertyBasedConfiguration; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.parser.PatternScenarioParser; import org.jbehave.scenario.parser.ClasspathScenarioDefiner; import org.jbehave.scenario.parser.UnderscoredCamelCaseResolver; import com.lunivore.gameoflife.steps.GridSteps; -public class ICanToggleACell extends Scenario { +public class ICanToggleACell extends JUnitScenario { public ICanToggleACell() { this(Thread.currentThread().getContextClassLoader());
Modified: trunk/examples/gameoflife/src/scenario/com/lunivore/gameoflife/TheGridStartsEmpty.java (929 => 930)
--- trunk/examples/gameoflife/src/scenario/com/lunivore/gameoflife/TheGridStartsEmpty.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/examples/gameoflife/src/scenario/com/lunivore/gameoflife/TheGridStartsEmpty.java 2008-09-19 09:49:42 UTC (rev 930) @@ -1,14 +1,14 @@ package com.lunivore.gameoflife; import org.jbehave.scenario.PropertyBasedConfiguration; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.parser.PatternScenarioParser; import org.jbehave.scenario.parser.ClasspathScenarioDefiner; import org.jbehave.scenario.parser.UnderscoredCamelCaseResolver; import com.lunivore.gameoflife.steps.GridSteps; -public class TheGridStartsEmpty extends Scenario { +public class TheGridStartsEmpty extends JUnitScenario { public TheGridStartsEmpty() { this(Thread.currentThread().getContextClassLoader());
Modified: trunk/examples/noughtsandcrosses/scenarios/pom.xml (929 => 930)
--- trunk/examples/noughtsandcrosses/scenarios/pom.xml 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/examples/noughtsandcrosses/scenarios/pom.xml 2008-09-19 09:49:42 UTC (rev 930) @@ -4,7 +4,7 @@ <parent> <groupId>org.jbehave</groupId> <artifactId>jbehave-examples</artifactId> - <version>2.0-SNAPSHOT</version> + <version>2.1-SNAPSHOT</version> </parent> <artifactId>jbehave-noughtsandcrosses-example-scenarios</artifactId> <name>JBehave Noughts And Crosses Example Scenarios</name>
Modified: trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/PlayersCanHazTurns.java (929 => 930)
--- trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/PlayersCanHazTurns.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/PlayersCanHazTurns.java 2008-09-19 09:49:42 UTC (rev 930) @@ -1,7 +1,7 @@ package com.lunivore.noughtsandcrosses; import org.jbehave.scenario.MostUsefulConfiguration; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.definition.KeyWords; import org.jbehave.scenario.parser.PatternScenarioParser; import org.jbehave.scenario.parser.ClasspathScenarioDefiner; @@ -13,7 +13,7 @@ * Checks that we can support scenarios written in other languages, * eg: lolcatz */ -public class PlayersCanHazTurns extends Scenario { +public class PlayersCanHazTurns extends JUnitScenario { public PlayersCanHazTurns() { this(Thread.currentThread().getContextClassLoader());
Modified: trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/PlayersCanTakeTurns.java (929 => 930)
--- trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/PlayersCanTakeTurns.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/PlayersCanTakeTurns.java 2008-09-19 09:49:42 UTC (rev 930) @@ -1,14 +1,14 @@ package com.lunivore.noughtsandcrosses; import org.jbehave.scenario.MostUsefulConfiguration; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.parser.PatternScenarioParser; import org.jbehave.scenario.parser.ClasspathScenarioDefiner; import org.jbehave.scenario.parser.UnderscoredCamelCaseResolver; import com.lunivore.noughtsandcrosses.steps.GridSteps; -public class PlayersCanTakeTurns extends Scenario { +public class PlayersCanTakeTurns extends JUnitScenario { public PlayersCanTakeTurns() { this(Thread.currentThread().getContextClassLoader());
Modified: trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/TheGridStartsEmpty.java (929 => 930)
--- trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/TheGridStartsEmpty.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/TheGridStartsEmpty.java 2008-09-19 09:49:42 UTC (rev 930) @@ -1,14 +1,14 @@ package com.lunivore.noughtsandcrosses; import org.jbehave.scenario.PropertyBasedConfiguration; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.parser.PatternScenarioParser; import org.jbehave.scenario.parser.ClasspathScenarioDefiner; import org.jbehave.scenario.parser.UnderscoredCamelCaseResolver; import com.lunivore.noughtsandcrosses.steps.GridSteps; -public class TheGridStartsEmpty extends Scenario { +public class TheGridStartsEmpty extends JUnitScenario { public TheGridStartsEmpty() { this(Thread.currentThread().getContextClassLoader());
Modified: trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/ThreeInARowWins.java (929 => 930)
--- trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/ThreeInARowWins.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/examples/noughtsandcrosses/src/scenario/com/lunivore/noughtsandcrosses/ThreeInARowWins.java 2008-09-19 09:49:42 UTC (rev 930) @@ -1,14 +1,14 @@ package com.lunivore.noughtsandcrosses; import org.jbehave.scenario.PropertyBasedConfiguration; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.parser.PatternScenarioParser; import org.jbehave.scenario.parser.ClasspathScenarioDefiner; import org.jbehave.scenario.parser.UnderscoredCamelCaseResolver; import com.lunivore.noughtsandcrosses.steps.GridSteps; -public class ThreeInARowWins extends Scenario { +public class ThreeInARowWins extends JUnitScenario { public ThreeInARowWins() { this(Thread.currentThread().getContextClassLoader());
Modified: trunk/examples/trader/src/main/java/org/jbehave/examples/trader/scenarios/StatusAlertCanBeActivated.java (929 => 930)
--- trunk/examples/trader/src/main/java/org/jbehave/examples/trader/scenarios/StatusAlertCanBeActivated.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/examples/trader/src/main/java/org/jbehave/examples/trader/scenarios/StatusAlertCanBeActivated.java 2008-09-19 09:49:42 UTC (rev 930) @@ -2,14 +2,14 @@ import org.jbehave.scenario.MostUsefulConfiguration; import org.jbehave.scenario.PropertyBasedConfiguration; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.parser.PatternScenarioParser; import org.jbehave.scenario.parser.ScenarioDefiner; import org.jbehave.scenario.parser.ClasspathScenarioDefiner; import org.jbehave.scenario.parser.UnderscoredCamelCaseResolver; -public class StatusAlertCanBeActivated extends Scenario { +public class StatusAlertCanBeActivated extends JUnitScenario { public StatusAlertCanBeActivated() { this(Thread.currentThread().getContextClassLoader());
Modified: trunk/examples/trader/src/main/java/org/jbehave/examples/trader/scenarios/StatusAlertIsNeverActivated.java (929 => 930)
--- trunk/examples/trader/src/main/java/org/jbehave/examples/trader/scenarios/StatusAlertIsNeverActivated.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/examples/trader/src/main/java/org/jbehave/examples/trader/scenarios/StatusAlertIsNeverActivated.java 2008-09-19 09:49:42 UTC (rev 930) @@ -1,13 +1,13 @@ package org.jbehave.examples.trader.scenarios; import org.jbehave.scenario.PropertyBasedConfiguration; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.parser.PatternScenarioParser; import org.jbehave.scenario.parser.ClasspathScenarioDefiner; import org.jbehave.scenario.parser.UnderscoredCamelCaseResolver; -public class StatusAlertIsNeverActivated extends Scenario { +public class StatusAlertIsNeverActivated extends JUnitScenario { public StatusAlertIsNeverActivated() { this(Thread.currentThread().getContextClassLoader());
Modified: trunk/examples/trader/src/main/java/org/jbehave/examples/trader/scenarios/TraderSellsAllStocks.java (929 => 930)
--- trunk/examples/trader/src/main/java/org/jbehave/examples/trader/scenarios/TraderSellsAllStocks.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/examples/trader/src/main/java/org/jbehave/examples/trader/scenarios/TraderSellsAllStocks.java 2008-09-19 09:49:42 UTC (rev 930) @@ -1,14 +1,14 @@ package org.jbehave.examples.trader.scenarios; import org.jbehave.scenario.PropertyBasedConfiguration; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.parser.PatternScenarioParser; import org.jbehave.scenario.parser.ScenarioDefiner; import org.jbehave.scenario.parser.ClasspathScenarioDefiner; import org.jbehave.scenario.parser.UnderscoredCamelCaseResolver; -public class TraderSellsAllStocks extends Scenario { +public class TraderSellsAllStocks extends JUnitScenario { public TraderSellsAllStocks() { this(Thread.currentThread().getContextClassLoader());
Modified: trunk/jbehave-core/src/behaviour/org/jbehave/scenario/ScenarioBehaviour.java (929 => 930)
--- trunk/jbehave-core/src/behaviour/org/jbehave/scenario/ScenarioBehaviour.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-core/src/behaviour/org/jbehave/scenario/ScenarioBehaviour.java 2008-09-19 09:49:42 UTC (rev 930) @@ -29,7 +29,7 @@ ScenarioRunner runner = mock(ScenarioRunner.class); MockedConfiguration configuration = new MockedConfiguration(); Steps steps = mock(Steps.class); - Scenario scenario = new MyScenario(runner, configuration, steps); + JUnitScenario scenario = new MyScenario(runner, configuration, steps); StoryDefinition storyDefinition = new StoryDefinition(Blurb.EMPTY, Collections.EMPTY_LIST); stub(configuration.scenarioDefiner.loadScenarioDefinitionsFor(MyScenario.class)).toReturn(storyDefinition); @@ -39,7 +39,7 @@ verify(runner).run(storyDefinition, configuration, steps); } - private class MyScenario extends Scenario { + private class MyScenario extends JUnitScenario { public MyScenario(ScenarioRunner runner, MockedConfiguration configuration, Steps steps) {
Modified: trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/CasePreservingResolverBehaviour.java (929 => 930)
--- trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/CasePreservingResolverBehaviour.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/CasePreservingResolverBehaviour.java 2008-09-19 09:49:42 UTC (rev 930) @@ -3,7 +3,7 @@ import static org.hamcrest.CoreMatchers.equalTo; import static org.jbehave.Ensure.ensureThat; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.junit.Test; public class CasePreservingResolverBehaviour { @@ -16,7 +16,7 @@ } - static class CamelCase extends Scenario { + static class CamelCase extends JUnitScenario { } }
Modified: trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/ScenarioFileLoaderBehaviour.java (929 => 930)
--- trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/ScenarioFileLoaderBehaviour.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/ScenarioFileLoaderBehaviour.java 2008-09-19 09:49:42 UTC (rev 930) @@ -7,7 +7,7 @@ import java.io.InputStream; import org.jbehave.scenario.PropertyBasedConfiguration; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.errors.InvalidScenarioResourceException; import org.jbehave.scenario.errors.ScenarioNotFoundException; import org.jbehave.scenario.parser.scenarios.MyPendingScenario; @@ -43,7 +43,7 @@ loader.loadScenarioDefinitionsFor(MyPendingScenario.class); } - static class InexistentScenario extends Scenario { + static class InexistentScenario extends JUnitScenario { }
Modified: trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/UnderscoredCamelCaseResolverBehaviour.java (929 => 930)
--- trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/UnderscoredCamelCaseResolverBehaviour.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/UnderscoredCamelCaseResolverBehaviour.java 2008-09-19 09:49:42 UTC (rev 930) @@ -3,7 +3,7 @@ import static org.hamcrest.CoreMatchers.equalTo; import static org.jbehave.Ensure.ensureThat; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.junit.Test; public class UnderscoredCamelCaseResolverBehaviour { @@ -24,11 +24,11 @@ } - static class CamelCaseScenario extends Scenario { + static class CamelCaseScenario extends JUnitScenario { } - static class CamelCase extends Scenario { + static class CamelCase extends JUnitScenario { } }
Modified: trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/scenarios/MyMultipleScenario.java (929 => 930)
--- trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/scenarios/MyMultipleScenario.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/scenarios/MyMultipleScenario.java 2008-09-19 09:49:42 UTC (rev 930) @@ -4,10 +4,10 @@ import java.io.PrintStream; import org.jbehave.scenario.PropertyBasedConfiguration; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.reporters.PrintStreamScenarioReporter; -public class MyMultipleScenario extends Scenario { +public class MyMultipleScenario extends JUnitScenario { public MyMultipleScenario() { // Making sure this doesn't output to the build while it's running super(new PropertyBasedConfiguration() {
Modified: trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/scenarios/MyPendingScenario.java (929 => 930)
--- trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/scenarios/MyPendingScenario.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-core/src/behaviour/org/jbehave/scenario/parser/scenarios/MyPendingScenario.java 2008-09-19 09:49:42 UTC (rev 930) @@ -4,10 +4,10 @@ import java.io.PrintStream; import org.jbehave.scenario.PropertyBasedConfiguration; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.reporters.PrintStreamScenarioReporter; -public class MyPendingScenario extends Scenario { +public class MyPendingScenario extends JUnitScenario { public MyPendingScenario() { // Making sure this doesn't output to the build while it's running
Copied: trunk/jbehave-core/src/java/org/jbehave/scenario/JUnitScenario.java (from rev 928, trunk/jbehave-core/src/java/org/jbehave/scenario/Scenario.java) (0 => 930)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/JUnitScenario.java (rev 0) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/JUnitScenario.java 2008-09-19 09:49:42 UTC (rev 930) @@ -0,0 +1,55 @@ +package org.jbehave.scenario; + +import junit.framework.TestCase; + +import org.jbehave.scenario.definition.KeyWords; +import org.jbehave.scenario.definition.StoryDefinition; +import org.jbehave.scenario.parser.ScenarioNameResolver; +import org.jbehave.scenario.steps.Steps; +import org.junit.Test; + +/** + * <p> + * Extend this class to run your scenario. Call the class after your scenario, + * eg: "ICanLogin.java". + * </p> + * <p> + * The Scenario should be in a matching text file in the same place, eg: + * "i_can_login". The scenario name used can be configured via the + * [EMAIL PROTECTED] ScenarioNameResolver}. + * </p> + * <p> + * Write some steps in your text scenario, starting each new step with Given, + * When, Then or And. The keywords can be configured via the [EMAIL PROTECTED] KeyWords} + * class, eg they can be translated/localized to other languages. + * </p> + * <p> + * Then move on to extending the Steps class. + * </p> + */ +public abstract class JUnitScenario extends TestCase { + + private final Configuration configuration; + private final ScenarioRunner scenarioRunner; + private final Steps[] candidateSteps; + + public JUnitScenario(Steps... candidateSteps) { + this(new PropertyBasedConfiguration(), candidateSteps); + } + + public JUnitScenario(Configuration configuration, Steps... candidateSteps) { + this(new ScenarioRunner(), configuration, candidateSteps); + } + + public JUnitScenario(ScenarioRunner scenarioRunner, Configuration configuration, Steps... candidateSteps) { + this.configuration = configuration; + this.scenarioRunner = scenarioRunner; + this.candidateSteps = candidateSteps; + } + + @Test + public void testRun() throws Throwable { + StoryDefinition story = configuration.forDefiningScenarios().loadScenarioDefinitionsFor(this.getClass()); + scenarioRunner.run(story, configuration, candidateSteps); + } +}
Property changes: trunk/jbehave-core/src/java/org/jbehave/scenario/JUnitScenario.java
Name: svn:mergeinfo
+
Deleted: trunk/jbehave-core/src/java/org/jbehave/scenario/Scenario.java (929 => 930)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/Scenario.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/Scenario.java 2008-09-19 09:49:42 UTC (rev 930) @@ -1,55 +0,0 @@ -package org.jbehave.scenario; - -import junit.framework.TestCase; - -import org.jbehave.scenario.definition.KeyWords; -import org.jbehave.scenario.definition.StoryDefinition; -import org.jbehave.scenario.parser.ScenarioNameResolver; -import org.jbehave.scenario.steps.Steps; -import org.junit.Test; - -/** - * <p> - * Extend this class to run your scenario. Call the class after your scenario, - * eg: "ICanLogin.java". - * </p> - * <p> - * The Scenario should be in a matching text file in the same place, eg: - * "i_can_login". The scenario name used can be configured via the - * [EMAIL PROTECTED] ScenarioNameResolver}. - * </p> - * <p> - * Write some steps in your text scenario, starting each new step with Given, - * When, Then or And. The keywords can be configured via the [EMAIL PROTECTED] KeyWords} - * class, eg they can be translated/localized to other languages. - * </p> - * <p> - * Then move on to extending the Steps class. - * </p> - */ -public abstract class Scenario extends TestCase { - - private final Configuration configuration; - private final ScenarioRunner scenarioRunner; - private final Steps[] candidateSteps; - - public Scenario(Steps... candidateSteps) { - this(new PropertyBasedConfiguration(), candidateSteps); - } - - public Scenario(Configuration configuration, Steps... candidateSteps) { - this(new ScenarioRunner(), configuration, candidateSteps); - } - - public Scenario(ScenarioRunner scenarioRunner, Configuration configuration, Steps... candidateSteps) { - this.configuration = configuration; - this.scenarioRunner = scenarioRunner; - this.candidateSteps = candidateSteps; - } - - @Test - public void testRun() throws Throwable { - StoryDefinition story = configuration.forDefiningScenarios().loadScenarioDefinitionsFor(this.getClass()); - scenarioRunner.run(story, configuration, candidateSteps); - } -}
Modified: trunk/jbehave-core/src/java/org/jbehave/scenario/parser/CasePreservingResolver.java (929 => 930)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/parser/CasePreservingResolver.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/parser/CasePreservingResolver.java 2008-09-19 09:49:42 UTC (rev 930) @@ -1,6 +1,6 @@ package org.jbehave.scenario.parser; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; /** * <p> @@ -23,7 +23,7 @@ this.extension = extension; } - public String resolve(Class<? extends Scenario> scenarioClass) { + public String resolve(Class<? extends JUnitScenario> scenarioClass) { String packageDir = scenarioClass.getPackage().getName().replaceAll(DOT_REGEX, SLASH); return packageDir + SLASH + scenarioClass.getSimpleName() + extension; }
Modified: trunk/jbehave-core/src/java/org/jbehave/scenario/parser/ClasspathScenarioDefiner.java (929 => 930)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/parser/ClasspathScenarioDefiner.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/parser/ClasspathScenarioDefiner.java 2008-09-19 09:49:42 UTC (rev 930) @@ -4,7 +4,7 @@ import java.io.IOException; import java.io.InputStream; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.definition.StoryDefinition; import org.jbehave.scenario.errors.InvalidScenarioResourceException; import org.jbehave.scenario.errors.ScenarioNotFoundException; @@ -43,12 +43,12 @@ this.classLoader = classLoader; } - public StoryDefinition loadScenarioDefinitionsFor(Class<? extends Scenario> scenarioClass) { + public StoryDefinition loadScenarioDefinitionsFor(Class<? extends JUnitScenario> scenarioClass) { String wholeFileAsString = asString(loadInputStreamFor(scenarioClass)); return parser.defineStoryFrom(wholeFileAsString); } - private InputStream loadInputStreamFor(Class<? extends Scenario> scenarioClass) { + private InputStream loadInputStreamFor(Class<? extends JUnitScenario> scenarioClass) { String scenarioName = resolver.resolve(scenarioClass); InputStream stream = classLoader.getResourceAsStream(scenarioName); if (stream == null) {
Modified: trunk/jbehave-core/src/java/org/jbehave/scenario/parser/ScenarioDefiner.java (929 => 930)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/parser/ScenarioDefiner.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/parser/ScenarioDefiner.java 2008-09-19 09:49:42 UTC (rev 930) @@ -1,6 +1,6 @@ package org.jbehave.scenario.parser; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.definition.StoryDefinition; /** @@ -10,6 +10,6 @@ */ public interface ScenarioDefiner { - StoryDefinition loadScenarioDefinitionsFor(Class<? extends Scenario> scenarioClass); + StoryDefinition loadScenarioDefinitionsFor(Class<? extends JUnitScenario> scenarioClass); }
Modified: trunk/jbehave-core/src/java/org/jbehave/scenario/parser/ScenarioNameResolver.java (929 => 930)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/parser/ScenarioNameResolver.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/parser/ScenarioNameResolver.java 2008-09-19 09:49:42 UTC (rev 930) @@ -1,6 +1,6 @@ package org.jbehave.scenario.parser; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; /** * <p> @@ -10,6 +10,6 @@ */ public interface ScenarioNameResolver { - String resolve(Class<? extends Scenario> scenarioClass); + String resolve(Class<? extends JUnitScenario> scenarioClass); }
Modified: trunk/jbehave-core/src/java/org/jbehave/scenario/parser/UnderscoredCamelCaseResolver.java (929 => 930)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/parser/UnderscoredCamelCaseResolver.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/parser/UnderscoredCamelCaseResolver.java 2008-09-19 09:49:42 UTC (rev 930) @@ -3,7 +3,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; /** * <p> @@ -32,7 +32,7 @@ this.extension = extension; } - public String resolve(Class<? extends Scenario> scenarioClass) { + public String resolve(Class<? extends JUnitScenario> scenarioClass) { String packageDir = scenarioClass.getPackage().getName().replaceAll(DOT_REGEX, SLASH); Matcher matcher = Pattern.compile(PATTERN).matcher(scenarioClass.getSimpleName()); int startAt = 0;
Modified: trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/AbstractScenarioMojo.java (929 => 930)
--- trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/AbstractScenarioMojo.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/AbstractScenarioMojo.java 2008-09-19 09:49:42 UTC (rev 930) @@ -6,7 +6,7 @@ import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; import org.jbehave.scenario.parser.ScenarioClassNameFinder; /** @@ -133,7 +133,7 @@ * @return A List of Scenarios * @throws MojoExecutionException */ - protected List<Scenario> scenarios() throws MojoExecutionException { + protected List<JUnitScenario> scenarios() throws MojoExecutionException { List<String> names = scenarioClassNames; if (names == null || names.isEmpty()) { names = findScenarioClassNames(); @@ -143,7 +143,7 @@ } try { ScenarioClassLoader classLoader = createScenarioClassLoader(); - List<Scenario> scenarios = new ArrayList<Scenario>(); + List<JUnitScenario> scenarios = new ArrayList<JUnitScenario>(); for (String name : names) { scenarios.add(classLoader.newScenario(name)); }
Modified: trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/ScenarioClassLoader.java (929 => 930)
--- trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/ScenarioClassLoader.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/ScenarioClassLoader.java 2008-09-19 09:49:42 UTC (rev 930) @@ -7,7 +7,7 @@ import java.util.ArrayList; import java.util.List; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; /** * Extends URLClassLoader to instantiate Scenarios. @@ -17,7 +17,7 @@ public class ScenarioClassLoader extends URLClassLoader { public ScenarioClassLoader(List<String> classpathElements) throws MalformedURLException { - super(classpathURLs(classpathElements), Scenario.class.getClassLoader()); + super(classpathURLs(classpathElements), JUnitScenario.class.getClassLoader()); } public ScenarioClassLoader(List<String> classpathElements, ClassLoader parent) throws MalformedURLException { @@ -30,14 +30,14 @@ * @param scenarioClassName the name of the Scenario class * @return A Scenario instance */ - public Scenario newScenario(String scenarioClassName) { + public JUnitScenario newScenario(String scenarioClassName) { try { - Scenario scenario = (Scenario) loadClass(scenarioClassName).getConstructor(ClassLoader.class).newInstance( + JUnitScenario scenario = (JUnitScenario) loadClass(scenarioClassName).getConstructor(ClassLoader.class).newInstance( this); Thread.currentThread().setContextClassLoader(this); return scenario; } catch (ClassCastException e) { - String message = "The scenario '" + scenarioClassName + "' must be of type '" + Scenario.class.getName() +"'"; + String message = "The scenario '" + scenarioClassName + "' must be of type '" + JUnitScenario.class.getName() +"'"; throw new RuntimeException(message, e); } catch (Exception e) { String message = "The Scenario '" + scenarioClassName
Modified: trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/ScenarioRunnerMojo.java (929 => 930)
--- trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/ScenarioRunnerMojo.java 2008-09-19 07:06:53 UTC (rev 929) +++ trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/ScenarioRunnerMojo.java 2008-09-19 09:49:42 UTC (rev 930) @@ -2,7 +2,7 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; -import org.jbehave.scenario.Scenario; +import org.jbehave.scenario.JUnitScenario; /** * Mojo to run scenarios @@ -13,7 +13,7 @@ public class ScenarioRunnerMojo extends AbstractScenarioMojo { public void execute() throws MojoExecutionException, MojoFailureException { - for (Scenario scenario : scenarios()) { + for (JUnitScenario scenario : scenarios()) { try { getLog().info("Running scenario " + scenario.getClass().getName()); scenario.run();
To unsubscribe from this list please visit: