### Question:
LauncherMain { @VisibleForTesting protected void setupLog4jProperties() { if (tryLoadLog4jPropertiesFromResource(HADOOP_LOG4J_LOCATION)) { return; } tryLoadLog4jPropertiesFromResource(DEFAULT_LOG4J_LOCATION); }  static Set<ApplicationId> getChildYarnJobs(Configuration actionConf); static Set<ApplicationId> getChildYarnJobs(Configuration actionConf, ApplicationsRequestScope scope,
                                                      long startTime); static Set<ApplicationId> getChildYarnJobs(Configuration actionConf, ApplicationsRequestScope scope); static List<ApplicationReport> getChildYarnApplications(final Configuration actionConf,
                                                                   final ApplicationsRequestScope scope,
                                                                   long startTime); static void killChildYarnJobs(Configuration actionConf); static Configuration loadActionConf(); void propagateToHadoopConf(); static final String ACTION_PREFIX; static final String EXTERNAL_CHILD_IDS; static final String EXTERNAL_ACTION_STATS; static final String EXTERNAL_STATS_WRITE; static final String OUTPUT_PROPERTIES; static final String HADOOP_JOBS; static final String MAPREDUCE_JOB_TAGS; static final String CHILD_MAPREDUCE_JOB_TAGS; static final String OOZIE_JOB_LAUNCH_TIME; static final String TEZ_APPLICATION_TAGS; static final String SPARK_YARN_TAGS; static final String PROPAGATION_CONF_XML; }### Answer:
@Test public void testLog4jPropertiesPresentAndReadable() throws UnsupportedEncodingException { final LauncherMain noop = new NoopLauncherMain(); noop.setupLog4jProperties(); assertTrue(outContent.toString(StandardCharsets.UTF_8.name()).contains( "INFO: log4j config file log4j.properties loaded successfully.")); assertEquals(noop.log4jProperties.size(), 5); }