public void Should_GetBindingClassSkeleton_generate_single_step_definition_class()
        {
            var sut = new StepDefinitionSkeletonProviderStepDefinitionSkeletonStub(templateProviderMock.Object, stepTextAnalyzerMock.Object, "step-definition-skeleton");

            var result = sut.GetBindingClassSkeleton(ProgrammingLanguage.CSharp, new[] { CreateSimpleWhen() }, "MyName.Space", "MyClass", StepDefinitionSkeletonStyle.RegexAttribute, bindingCulture);

            result.Should().Be("MyName.Space/MyClass/        step-definition-skeleton");
        }
        public void Should_GetBindingClassSkeleton_generate_single_step_definition_class()
        {
            var sut = new StepDefinitionSkeletonProviderStepDefinitionSkeletonStub(templateProviderMock.Object, stepTextAnalyzerMock.Object, "step-definition-skeleton");

            var result = sut.GetBindingClassSkeleton(ProgrammingLanguage.CSharp, new[] { CreateSimpleWhen() }, "MyName.Space", "MyClass", StepDefinitionSkeletonStyle.RegexAttribute, bindingCulture);

            result.Should().Be("MyName.Space/MyClass/        step-definition-skeleton");
        }
        public void Should_GetBindingClassSkeleton_merges_same_step_definition_methods()
        {
            var sut = new StepDefinitionSkeletonProviderStepDefinitionSkeletonStub(templateProviderMock.Object, stepTextAnalyzerMock.Object, "step-definition-skeleton", "other-step-definition-skeleton", "step-definition-skeleton");

            var result = sut.GetBindingClassSkeleton(ProgrammingLanguage.CSharp, new[] { CreateSimpleWhen(), CreateSimpleWhen(), CreateSimpleWhen() }, "MyName.Space", "MyClass", StepDefinitionSkeletonStyle.RegexAttribute, bindingCulture);

            result.Should().Be(StringHelpers.ConsolidateVerbatimStringLineEndings(@"MyName.Space/MyClass/        step-definition-skeleton
        other-step-definition-skeleton"));
        }
        public void Should_GetBindingClassSkeleton_merges_same_step_definition_methods()
        {
            var sut = new StepDefinitionSkeletonProviderStepDefinitionSkeletonStub(templateProviderMock.Object, stepTextAnalyzerMock.Object, "step-definition-skeleton", "other-step-definition-skeleton", "step-definition-skeleton");

            var result = sut.GetBindingClassSkeleton(ProgrammingLanguage.CSharp, new[] { CreateSimpleWhen(), CreateSimpleWhen(), CreateSimpleWhen() }, "MyName.Space", "MyClass", StepDefinitionSkeletonStyle.RegexAttribute, bindingCulture);

            result.Should().Be(StringHelpers.ConsolidateVerbatimStringLineEndings(@"MyName.Space/MyClass/        step-definition-skeleton
            other-step-definition-skeleton"));
        }
        public void Should_GetBindingClassSkeleton_orders_step_definition_methods_by_type()
        {
            var sut = new StepDefinitionSkeletonProviderStepDefinitionSkeletonStub(templateProviderMock.Object, stepTextAnalyzerMock.Object, si => si.StepDefinitionType.ToString() + "-skeleton");

            var result = sut.GetBindingClassSkeleton(ProgrammingLanguage.CSharp, new[] { CreateSimpleWhen(), CreateSimpleThen(), CreateSimpleGiven() }, "MyName.Space", "MyClass", StepDefinitionSkeletonStyle.RegexAttribute, bindingCulture);

            result.Should().Be(StringHelpers.ConsolidateVerbatimStringLineEndings(@"MyName.Space/MyClass/        Given-skeleton
        When-skeleton
        Then-skeleton"));
        }
        public void Should_GetBindingClassSkeleton_orders_step_definition_methods_by_type()
        {
            var sut = new StepDefinitionSkeletonProviderStepDefinitionSkeletonStub(templateProviderMock.Object, stepTextAnalyzerMock.Object, si => si.StepDefinitionType.ToString() + "-skeleton");

            var result = sut.GetBindingClassSkeleton(ProgrammingLanguage.CSharp, new[] { CreateSimpleWhen(), CreateSimpleThen(), CreateSimpleGiven() }, "MyName.Space", "MyClass", StepDefinitionSkeletonStyle.RegexAttribute, bindingCulture);

            result.Should().Be(StringHelpers.ConsolidateVerbatimStringLineEndings(@"MyName.Space/MyClass/        Given-skeleton
            When-skeleton
            Then-skeleton"));
        }