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 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); }