public void ShouldReturnOnlyOneContextWithTheSecondNested()
        {
            ForEachTableDatabaseContextHandler forEachTableDatabaseContextHandler = new ForEachTableDatabaseContextHandler(templateHandlerNew);
            TableNameTableContextHandler       tableNameTableContextHandler       = new TableNameTableContextHandler(templateHandlerNew);
            var results = _tested.ExtractAllContextUntilDepth($"{forEachTableDatabaseContextHandler.StartContext}{tableNameTableContextHandler.StartContext}{tableNameTableContextHandler.EndContext}{forEachTableDatabaseContextHandler.EndContext}", 1);

            Assert.IsNotNull(results);
            var resultAsList = results.ToList();

            CollectionAssert.IsNotEmpty(resultAsList);
            Assert.AreEqual(1, resultAsList.Count);
            var first = resultAsList[0];

            Assert.IsNotNull(first.current);
            Assert.IsNotNull(first.childs);
            CollectionAssert.IsNotEmpty(first.childs);
            Assert.AreEqual(first.current.StartContextDelimiter, forEachTableDatabaseContextHandler.StartContext);
            Assert.AreEqual(first.current.InnerContent, $"{tableNameTableContextHandler.StartContext}{tableNameTableContextHandler.EndContext}");
            Assert.AreEqual(first.current.EndContextDelimiter, forEachTableDatabaseContextHandler.EndContext);
            Assert.AreEqual(1, first.childs.Count);
            var firstChild = first.childs.First();

            Assert.IsNotNull(firstChild.current);
            Assert.IsNotNull(firstChild.childs);
            Assert.AreEqual(firstChild.current.StartContextDelimiter, tableNameTableContextHandler.StartContext);
            Assert.AreEqual(firstChild.current.InnerContent, String.Empty);
            Assert.AreEqual(firstChild.current.EndContextDelimiter, tableNameTableContextHandler.EndContext);
        }
        public void ShouldReturnTwoContextesWithNoChilds()
        {
            DatabaseNameDatabaseContextHandler databaseNameDatabaseContextHandler = new DatabaseNameDatabaseContextHandler(templateHandlerNew);
            TableNameTableContextHandler       tableNameTableContextHandler       = new TableNameTableContextHandler(templateHandlerNew);
            var results = _tested.ExtractAllContextUntilDepth($"{databaseNameDatabaseContextHandler.Signature}-{tableNameTableContextHandler.Signature}", 0);

            Assert.IsNotNull(results);
            var resultAsList = results.ToList();

            CollectionAssert.IsNotEmpty(resultAsList);
            Assert.AreEqual(2, resultAsList.Count);
            var first = resultAsList[0];

            Assert.IsNotNull(first.current);
            Assert.IsNotNull(first.childs);
            CollectionAssert.IsEmpty(first.childs);
            Assert.AreEqual(first.current.StartContextDelimiter, databaseNameDatabaseContextHandler.StartContext);
            Assert.AreEqual(first.current.InnerContent, String.Empty);
            Assert.AreEqual(first.current.EndContextDelimiter, databaseNameDatabaseContextHandler.EndContext);
            var second = resultAsList[1];

            Assert.IsNotNull(second.current);
            Assert.IsNotNull(second.childs);
            CollectionAssert.IsEmpty(second.childs);
            Assert.AreEqual(second.current.StartContextDelimiter, tableNameTableContextHandler.StartContext);
            Assert.AreEqual(second.current.InnerContent, String.Empty);
            Assert.AreEqual(second.current.EndContextDelimiter, tableNameTableContextHandler.EndContext);
        }
        public void OneTimeSetUp()
        {
            var templateHandler = TemplateHandlerBuilder.Build(null);

            _tested = new ForEachTablesForeignVisitContextHanlder(templateHandler);
            tableNameTableContextHandler = new TableNameTableContextHandler(templateHandler);
        }
        public void ProcessTemplateContextCompositeShouldReturnTableName()
        {
            string expected = "HelloWorldTable";
            var    tableNameContextHandler = new TableNameTableContextHandler(_templateHandlerNew);
            TemplateContextComposite templateContextComposite = new TemplateContextComposite()
            {
                current = new TableTemplateContext()
                {
                    StartIndex            = 0,
                    ContextDepth          = 0,
                    InnerContent          = string.Empty,
                    StartContextDelimiter = tableNameContextHandler.StartContext,
                    EndContextDelimiter   = tableNameContextHandler.EndContext,
                },
                childs = null,
            };
            var actual = _tested.ProcessTemplateContextComposite(templateContextComposite, new ProcessorDatabaseContext()
            {
                Database = new DatabaseModel(),
                Table    = new TableModel()
                {
                    Name = expected,
                }
            });

            Assert.AreEqual(expected, actual);
        }
示例#5
0
        public void Success_when_output_is_first_table_name_when_is_table_name_word_specified_in_template()
        {
            var templateHandlerNew           = BuildTemplateHandler(null);
            var TableNameTableContextHandler = new TableNameTableContextHandler(templateHandlerNew);
            var TemplateHandlerNew           = BuildTemplateHandler(null);

            String submittedString = TableNameTableContextHandler.Signature;
            String result          = TemplateHandlerNew.HandleTableTemplate(submittedString,
                                                                            new ProcessorDatabaseContext()
            {
                Table = _firstTableDescriptionPOJO,
            });
            String expectedResult = FIRST_TABLE_NAME;

            Assert.AreEqual(expectedResult, result);
        }
示例#6
0
        public void Success_when_output_is_database_all_table_name_when_is_database_foreach_table_name_specified_in_template()
        {
            var templateHandler = BuildTemplateHandler(null);
            var ForEachTableDatabaseContextHandler = new ForEachTableDatabaseContextHandler(templateHandler);
            var TableNameTableContextHandler       = new TableNameTableContextHandler(templateHandler);
            var TemplateHandlerNew = BuildTemplateHandler(null);

            String submittedString = ForEachTableDatabaseContextHandler.StartContext +
                                     TableNameTableContextHandler.Signature + "," +
                                     ForEachTableDatabaseContextHandler.EndContext;
            String result = TemplateHandlerNew.HandleTemplate(submittedString,
                                                              new ProcessorDatabaseContext()
            {
                Database = _databaseDescriptionPojo,
            });
            String expectedResult = FIRST_TABLE_NAME + "," + SECOND_TABLE_NAME + ",";

            Assert.AreEqual(expectedResult, result);
        }
        public void ShouldReturnDatabaseNameAndTableName()
        {
            var templateHandlerNew = TemplateHandlerBuilder.Build(null);
            DatabaseNameDatabaseContextHandler databaseNameDatabaseContextHandler = new DatabaseNameDatabaseContextHandler(templateHandlerNew);
            TableNameTableContextHandler       tableNameTableContextHandler       = new TableNameTableContextHandler(templateHandlerNew);
            string databaseName = "DatabaseName";
            string tableName    = "TableName";
            DatabaseTemplateHandlerInputModel input = new DatabaseTemplateHandlerInputModel()
            {
                TemplateModels = new List <ITemplateModel>
                {
                    new TemplateModel()
                    {
                        TemplatedFilePath    = $"{_tested.DatabaseFilePathTemplateWord}-{_tested.TableFilePathTemplateWord}",
                        TemplatedFileContent = $"{databaseNameDatabaseContextHandler.Signature}-{tableNameTableContextHandler.Signature}",
                    }
                },
                DatabaseModel = new DatabaseModel()
                {
                    Name   = databaseName,
                    Tables = new List <ITableModel>()
                    {
                        new TableModel()
                        {
                            Name    = tableName,
                            Columns = new List <IColumnModel>(),
                        }
                    },
                }
            };

            var result = _tested.Process(input);

            Assert.IsNotNull(result);
            CollectionAssert.IsNotEmpty(result);
            Assert.AreEqual(1, result.Count);
            var resultItem = result.First();

            Assert.IsNotNull(resultItem);
            Assert.AreEqual($"{databaseName}-{tableName}", resultItem.Path);
            Assert.AreEqual($"{databaseName}-{tableName}", resultItem.Content);
        }
示例#8
0
        public void OneTimeSetUp()
        {
            var templateHandler = TemplateHandlerBuilder.Build(null);

            _tested = new TableNameTableContextHandler(templateHandler);
        }