test_class.declarator: featureVisitor
test_class.modifier: private
test_class.original_string: private FeatureVisitor featureVisitor;
test_class.type: FeatureVisitor
test_class.var_name: featureVisitor
test_class.declarator: allFeaturesPageRenderer
test_class.modifier: private
test_class.original_string: private AllFeaturesPageRenderer allFeaturesPageRenderer;
test_class.type: AllFeaturesPageRenderer
test_class.var_name: allFeaturesPageRenderer
test_class.file: plugin-code/src/test/java/com/trivago/cluecumber/rendering/pages/visitors/FeatureVisitorTest.java
test_class.identifier: FeatureVisitorTest
test_class.superclass: extends VisitorTest
test_case.body: @Test
      public void visitTest() throws CluecumberPluginException {
          when(allFeaturesPageRenderer.getRenderedContent(any(), any())).thenReturn("MyRenderedFeatures");
          when(allScenariosPageRenderer.getRenderedContentByFeatureFilter(any(), any(), any())).thenReturn("MyRenderedScenarios");
          featureVisitor.visit(getAllScenarioPageCollection());
          verify(fileIo, times(1))
                  .writeContentToFile("MyRenderedFeatures", "dummyPath/pages/feature-summary.html");
          verify(fileIo, times(1))
                  .writeContentToFile("MyRenderedScenarios", "dummyPath/pages/feature-scenarios/feature_12.html");
      }
test_case.class_method_signature: FeatureVisitorTest.visitTest()
test_case.full_signature: @Test public void visitTest()
test_case.identifier: visitTest
test_case.invocations: thenReturn when getRenderedContent any any thenReturn when getRenderedContentByFeatureFilter any any any visit getAllScenarioPageCollection writeContentToFile verify times writeContentToFile verify times
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void visitTest()
focal_class.declarator: fileIO
focal_class.modifier: private final
focal_class.original_string: private final FileIO fileIO;
focal_class.type: FileIO
focal_class.var_name: fileIO
focal_class.declarator: templateEngine
focal_class.modifier: private final
focal_class.original_string: private final TemplateEngine templateEngine;
focal_class.type: TemplateEngine
focal_class.var_name: templateEngine
focal_class.declarator: propertyManager
focal_class.modifier: private final
focal_class.original_string: private final PropertyManager propertyManager;
focal_class.type: PropertyManager
focal_class.var_name: propertyManager
focal_class.declarator: allFeaturesPageRenderer
focal_class.modifier: private final
focal_class.original_string: private final AllFeaturesPageRenderer allFeaturesPageRenderer;
focal_class.type: AllFeaturesPageRenderer
focal_class.var_name: allFeaturesPageRenderer
focal_class.declarator: allScenariosPageRenderer
focal_class.modifier: private final
focal_class.original_string: private final AllScenariosPageRenderer allScenariosPageRenderer;
focal_class.type: AllScenariosPageRenderer
focal_class.var_name: allScenariosPageRenderer
focal_class.file: plugin-code/src/main/java/com/trivago/cluecumber/rendering/pages/visitors/FeatureVisitor.java
focal_class.identifier: FeatureVisitor
focal_class.interfaces: implements PageVisitor
focal_class.class_method_signature: FeatureVisitor.FeatureVisitor(
              final FileIO fileIO,
              final TemplateEngine templateEngine,
              final PropertyManager propertyManager,
              final AllFeaturesPageRenderer allFeaturesPageRenderer,
              final AllScenariosPageRenderer allScenariosPageRenderer
      )
focal_class.full_signature: @Inject public  FeatureVisitor(
              final FileIO fileIO,
              final TemplateEngine templateEngine,
              final PropertyManager propertyManager,
              final AllFeaturesPageRenderer allFeaturesPageRenderer,
              final AllScenariosPageRenderer allScenariosPageRenderer
      )
focal_class.identifier: FeatureVisitor
focal_class.modifiers: @Inject public
focal_class.parameters: (
              final FileIO fileIO,
              final TemplateEngine templateEngine,
              final PropertyManager propertyManager,
              final AllFeaturesPageRenderer allFeaturesPageRenderer,
              final AllScenariosPageRenderer allScenariosPageRenderer
      )
focal_class.signature:  FeatureVisitor(
              final FileIO fileIO,
              final TemplateEngine templateEngine,
              final PropertyManager propertyManager,
              final AllFeaturesPageRenderer allFeaturesPageRenderer,
              final AllScenariosPageRenderer allScenariosPageRenderer
      )
focal_class.class_method_signature: FeatureVisitor.visit(final AllScenariosPageCollection allScenariosPageCollection)
focal_class.full_signature: @Override public void visit(final AllScenariosPageCollection allScenariosPageCollection)
focal_class.identifier: visit
focal_class.modifiers: @Override public
focal_class.parameters: (final AllScenariosPageCollection allScenariosPageCollection)
focal_class.return: void
focal_class.signature: void visit(final AllScenariosPageCollection allScenariosPageCollection)
focal_method.body: @Override
      public void visit(final AllScenariosPageCollection allScenariosPageCollection) throws CluecumberPluginException {
          AllFeaturesPageCollection allFeaturesPageCollection =
                  new AllFeaturesPageCollection(allScenariosPageCollection.getReports(), propertyManager.getCustomPageTitle());
  
          // All features summary page
          fileIO.writeContentToFile(
                  allFeaturesPageRenderer.getRenderedContent(allFeaturesPageCollection,
                          templateEngine.getTemplate(ALL_FEATURES)),
                  propertyManager.getGeneratedHtmlReportDirectory() + "/" + PluginSettings.PAGES_DIRECTORY + "/" +
                          PluginSettings.FEATURE_SUMMARY_PAGE_PATH + PluginSettings.HTML_FILE_EXTENSION);
  
          // Scenarios by feature pages
          for (Feature feature : allFeaturesPageCollection.getFeatures()) {
              fileIO.writeContentToFile(
                      allScenariosPageRenderer.getRenderedContentByFeatureFilter(
                              allScenariosPageCollection,
                              templateEngine.getTemplate(ALL_SCENARIOS),
                              feature
                      ),
                      propertyManager.getGeneratedHtmlReportDirectory() + "/" +
                              PluginSettings.PAGES_DIRECTORY + PluginSettings.FEATURE_SCENARIOS_PAGE_FRAGMENT +
                              feature.getIndex() + PluginSettings.HTML_FILE_EXTENSION);
          }
      }
focal_method.class_method_signature: FeatureVisitor.visit(final AllScenariosPageCollection allScenariosPageCollection)
focal_method.full_signature: @Override public void visit(final AllScenariosPageCollection allScenariosPageCollection)
focal_method.identifier: visit
focal_method.invocations: getReports getCustomPageTitle writeContentToFile getRenderedContent getTemplate getGeneratedHtmlReportDirectory getFeatures writeContentToFile getRenderedContentByFeatureFilter getTemplate getGeneratedHtmlReportDirectory getIndex
focal_method.modifiers: @Override public
focal_method.parameters: (final AllScenariosPageCollection allScenariosPageCollection)
focal_method.return: void
focal_method.signature: void visit(final AllScenariosPageCollection allScenariosPageCollection)