List<PickleStepDefinitionMatch> getMatches() {
        return matches;
    }
@Test
    void can_report_ambiguous_step_definitions() {
        Feature feature = TestFeatureParser.parse("" +
                "Feature: Test feature\n" +
                "  Scenario: Test scenario\n" +
                "     Given I have 4 cukes in my belly\n");

        Step mockPickleStep = feature.getPickles().get(0).getSteps().get(0);

        PickleStepDefinitionMatch mockPickleStepDefinitionMatchOne = mock(PickleStepDefinitionMatch.class);
        when(mockPickleStepDefinitionMatchOne.getPattern()).thenReturn("PickleStepDefinitionMatchOne_Pattern");
        when(mockPickleStepDefinitionMatchOne.getLocation()).thenReturn("PickleStepDefinitionMatchOne_Location");

        PickleStepDefinitionMatch mockPickleStepDefinitionMatchTwo = mock(PickleStepDefinitionMatch.class);
        when(mockPickleStepDefinitionMatchTwo.getPattern()).thenReturn("PickleStepDefinitionMatchTwo_Pattern");
        when(mockPickleStepDefinitionMatchTwo.getLocation()).thenReturn("PickleStepDefinitionMatchTwo_Location");

        List<PickleStepDefinitionMatch> matches = asList(mockPickleStepDefinitionMatchOne,
            mockPickleStepDefinitionMatchTwo);

        AmbiguousStepDefinitionsException expectedThrown = new AmbiguousStepDefinitionsException(mockPickleStep,
            matches);
        assertAll(
            () -> assertThat(expectedThrown.getMessage(), is(equalTo(
                "" +
                        "\"I have 4 cukes in my belly\" matches more than one step definition:\n" +
                        "  \"PickleStepDefinitionMatchOne_Pattern\" in PickleStepDefinitionMatchOne_Location\n" +
                        "  \"PickleStepDefinitionMatchTwo_Pattern\" in PickleStepDefinitionMatchTwo_Location"))),
            () -> assertThat(expectedThrown.getCause(), is(nullValue())),
            () -> assertThat(expectedThrown.getMatches(), is(equalTo(matches))));
    }