### Question:
ProgressDisplayGenerator { public static List<String> generateProgressDisplay( double progress, List<String> unfinishedLeafTasks) { List<String> lines = new ArrayList<>(); lines.add(HEADER); lines.add(generateProgressBar(progress)); for (String task : unfinishedLeafTasks) { lines.add("> " + task); } return lines; } private  ProgressDisplayGenerator(); static List<String> generateProgressDisplay(
      double progress, List<String> unfinishedLeafTasks);  }### Answer:
@Test public void testGenerateProgressDisplay_progressBar_0() { Assert.assertEquals( Arrays.asList("Executing tasks:", getBar("[ ]", 0.0)), ProgressDisplayGenerator.generateProgressDisplay(0, Collections.emptyList())); }
@Test public void testGenerateProgressDisplay_progressBar_50() { Assert.assertEquals( Arrays.asList("Executing tasks:", getBar("[=============== ]", 50.0)), ProgressDisplayGenerator.generateProgressDisplay(0.5, Collections.emptyList())); }
@Test public void testGenerateProgressDisplay_progressBar_100() { Assert.assertEquals( Arrays.asList("Executing tasks:", getBar("[==============================]", 100.0)), ProgressDisplayGenerator.generateProgressDisplay(1, Collections.emptyList())); }
@Test public void testGenerateProgressDisplay_unfinishedTasks() { Assert.assertEquals( Arrays.asList( "Executing tasks:", getBar("[=============== ]", 50.0), "> unfinished task", "> another task in progress", "> stalled"), ProgressDisplayGenerator.generateProgressDisplay( 0.5, Arrays.asList("unfinished task", "another task in progress", "stalled"))); }