@@ -0,0 +1,1312 @@
+package org.jbehave.scenario.steps;%0A%0Aimport static org.hamcrest.CoreMatchers.equalTo;%0Aimport static org.jbehave.Ensure.ensureThat;%0Aimport org.jbehave.scenario.annotations.AfterScenario;%0Aimport org.jbehave.scenario.annotations.Given;%0Aimport org.jbehave.scenario.annotations.When;%0Aimport org.junit.Test;%0A%0Aimport java.util.HashMap;%0Aimport java.util.Map;%0A%0Apublic class ConfusingStepsBehavior %7B%0A%0A    private Map%3CString, String%3E tableRow = new HashMap%3CString, String%3E();%0A%0A%09@Test%0A    public void shouldBeAbleToDisambiguateSimilarSteps() %7B%0A        MySteps steps = new MySteps();%0A        CandidateStep%5B%5D candidateSteps = steps.getSteps();%0A        ensureThat(candidateSteps.length, equalTo(2));%0A        candidateSteps%5B0%5D.createFrom(tableRow, %22Given foo named xyz%22).perform();%0A        candidateSteps%5B1%5D.createFrom(tableRow, %22When foo named Bar is created%22).perform();%0A        ensureThat(steps.given, equalTo(true));%0A        ensureThat(steps.when, equalTo(true));%0A    %7D%0A%0A    static class MySteps extends Steps %7B%0A        private boolean when;%0A        private boolean given;%0A%0A        @Given(%22foo named $name%22)%0A        public void givenFoo(String name) %7B%0A            given = true;%0A        %7D%0A%0A        @When(%22foo named $name is created%22)%0A        public void createFoo(String name) %7B%0A            when = true;%0A        %7D%0A%0A    %7D%0A%0A%0A%7D%0A

add testcase for JBEHAVE-196