public void DigestScenarioStepValues_Throws_Error_If_Arguments_Present_But_No_DocString()
        {
            //arrange.
            var sut = new DocStringArgument();

            //act / assert.
            Assert.Throws <InvalidOperationException>(() => sut.DigestScenarioStepValues(new string[] { "1", "2", "3" }, null));
        }
        public void Clone_Creates_Similar_Instance()
        {
            //arrange.
            var sut = new DocStringArgument();

            //act.
            var clone = sut.Clone();

            //assert.
            Assert.True(clone.IsSameAs(sut));
            Assert.NotSame(clone, sut);
        }
        public void IsSameAs_Distinguishes_Different_Instances()
        {
            //arrange.
            var sut   = new DocStringArgument();
            var other = new Mock <StepMethodArgument>().Object;

            //act.
            var same = sut.IsSameAs(other);

            //assert.
            Assert.False(same);
        }
        public void IsSameAs_Identifies_Similar_Instances()
        {
            //arrange.
            var sut   = new DocStringArgument();
            var other = new DocStringArgument();

            //act.
            var same = sut.IsSameAs(other);

            //assert.
            Assert.True(same);
        }
        public void DigestScenarioStepValues_Sets_Value_As_DataTable_When_DataTable_And_Other_Args_Present()
        {
            //arrange.
            var sut = new DocStringArgument();
            var docStringContent = @"some content
+++
with multi lines
---
in it";
            var docString        = new Gherkin.Ast.DocString(null, null, docStringContent);

            //act.
            sut.DigestScenarioStepValues(new string[] { "1", "2", "3" }, docString);

            //assert.
            Assert.Same(docString, sut.Value);
        }
        public void DigestScenarioStepValues_Sets_Value_As_DocString_When_Only_DocString()
        {
            //arrange.
            var sut = new DocStringArgument();
            var docStringContent = @"some content
+++
with multi lines
---
in it";
            var docString        = new Gherkin.Ast.DocString(null, null, docStringContent);

            //act.
            sut.DigestScenarioStepValues(new string[0], docString);

            //assert.
            Assert.Same(docString, sut.Value);
        }
Exemple #7
0
        public void DigestScenarioStepValues_Sets_Value_As_DataTable_When_DataTable_And_Other_Args_Present()
        {
            //arrange.
            var sut              = new DocStringArgument();
            var scenarioName     = "scenario-121kh2";
            var docStringContent = @"some content
+++
with multi lines
---
in it";
            var docString        = CreateGherkinDocument(scenarioName,
                                                         @"Given some step text
" + @"""""""
" + docStringContent + @"
""""""").Feature.Children.ElementAt(0).Steps.ElementAt(0).Argument as Gherkin.Ast.DocString;

            //act.
            sut.DigestScenarioStepValues(new string[] { "1", "2", "3" }, docString);

            //assert.
            Assert.Same(docString, sut.Value);
        }