Ejemplo n.º 1
0
        public void ShouldGenerateStepsForOneSingleStatement()
        {
            // mock
            var rootNs = "qualquer.coisa";
            var feature = new Feature() { Name = "Cliente, Exclusão" };
            var scenario = new Scenario()
            {
                @Name = "Deve falhar quando cliente está vinculado à [1] produtos.",
                @Statements =
                {
                    Given = "Dado o arquivo de feature ''",
                    When = "Quando tento criar o parser",
                    Then = "Então eu recebo uma exceção do tipo 'NBDD.Framework.Parsers.FeatureFileContentInvalidException'"
                }
            };
            var treatedScenario = scenario.MakeTreatedStatements();

            // prepare
            var builder = new CSharpFeatureStepsBuilder();
            builder.Feature = feature;
            builder.Scenario = scenario;
            builder.RootNamespace = rootNs;

            // do
            var code = builder.ToCode();
            Console.Write(code);

            // check
            Assert.IsNotNull(code);

            Assert.IsTrue(HasAttribute(code, "Given"), "Atributo 'Given' não encontrado");
            Assert.IsTrue(HasStatementMethod(code, scenario.Statements.Given), "Não temos o método para o statement de given");

            Assert.IsTrue(HasAttribute(code, "When"), "Atributo 'When' não encontrado");
            Assert.IsTrue(HasStatementMethod(code, scenario.Statements.When), "Não temos o método para o statement de when");

            Assert.IsTrue(HasAttribute(code, "Then"), "Atributo 'Then' não encontrado");
            Assert.IsTrue(HasStatementMethod(code, scenario.Statements.Then), "Não temos o método para o statement de then");
        }