### Question:
AbstractBaseLauncher implements RunnableLauncher { String[] getProgramArguments() throws IOException { LOGGER.entering(); InstanceType type = getType(); List<String> args = new LinkedList<>(commands); if (InstanceType.SELENIUM_NODE.equals(type)) { args.addAll(Arrays.asList(getNodeProgramArguments())); } if (InstanceType.SELENIUM_HUB.equals(type)) { args.addAll(Arrays.asList(getHubProgramArguments())); } if (!commands.contains(ProcessLauncherConfiguration.SELION_CONFIG_ARG)) { args.add(ProcessLauncherConfiguration.SELION_CONFIG_ARG); args.add(SELION_CONFIG_FILE); } LOGGER.exiting(args.toString()); return args.toArray(new String[args.size()]); }  final boolean isInitialized(); boolean isRunning();  }### Answer:
@Test public void testGetProgramArguments() throws Exception { DummyProcessLauncher launcher; launcher = new DummyProcessLauncher(); assertTrue(Arrays.asList(launcher.getProgramArguments()).contains(SELION_CONFIG_ARG)); assertTrue(Arrays.asList(launcher.getProgramArguments()).contains(SELION_CONFIG_FILE)); launcher = new DummyProcessLauncher(new String[] { ROLE_ARG, "node" }); assertTrue(Arrays.asList(launcher.getProgramArguments()).contains(SELION_CONFIG_ARG)); assertTrue(Arrays.asList(launcher.getProgramArguments()).contains(SELION_CONFIG_FILE)); assertTrue(Arrays.asList(launcher.getProgramArguments()).contains(NODE_CONFIG_ARG)); assertTrue(Arrays.asList(launcher.getProgramArguments()).contains(NODE_CONFIG_FILE)); launcher = new DummyProcessLauncher(new String[] { ROLE_ARG, "hub" }); assertTrue(Arrays.asList(launcher.getProgramArguments()).contains(SELION_CONFIG_ARG)); assertTrue(Arrays.asList(launcher.getProgramArguments()).contains(SELION_CONFIG_FILE)); assertTrue(Arrays.asList(launcher.getProgramArguments()).contains(HUB_CONFIG_ARG)); assertTrue(Arrays.asList(launcher.getProgramArguments()).contains(HUB_CONFIG_FILE)); launcher = new DummyProcessLauncher(new String[] { SELION_CONFIG_ARG, "mySeLionConfig.json" }); assertTrue(Arrays.asList(launcher.getProgramArguments()).contains(SELION_CONFIG_ARG)); assertTrue(Arrays.asList(launcher.getProgramArguments()).contains("mySeLionConfig.json")); }