### Question:
CoverageAxisGenerator implements AxisGenerator { @Override public String[] getValuePoints(Functionality functionality) { return new String[] { functionality.getCoverageLevel().name() }; }  @Override String getCode(); @Override String getName(); @Override Stream<AxisPointDTO> getPoints(long projectId); @Override String[] getValuePoints(Functionality functionality);  }### Answer:
@Test public void testGetValuePoints_COVERED() { Functionality functionality = new Functionality() .withScenarios(Collections.singleton(new Scenario())); assertThat(cut.getValuePoints(functionality)).isEqualTo(new String[] { "COVERED" }); }
@Test public void testGetValuePoints_PARTIALLY_COVERED() { Functionality functionality = new Functionality() .withScenarios(new HashSet<>(Arrays.asList( new Scenario().withLine(1), new Scenario().withLine(2).withIgnored(true)))); assertThat(cut.getValuePoints(functionality)).isEqualTo(new String[] { "PARTIALLY_COVERED" }); }
@Test public void testGetValuePoints_IGNORED_COVERAGE() { Functionality functionality = new Functionality() .withScenarios(Collections.singleton(new Scenario().withIgnored(true))); assertThat(cut.getValuePoints(functionality)).isEqualTo(new String[] { "IGNORED_COVERAGE" }); }
@Test public void testGetValuePoints_STARTED() { Functionality functionality = new Functionality().withStarted(Boolean.TRUE); assertThat(cut.getValuePoints(functionality)).isEqualTo(new String[] { "STARTED" }); }
@Test public void testGetValuePoints_NOT_AUTOMATABLE() { Functionality functionality = new Functionality().withNotAutomatable(Boolean.TRUE); assertThat(cut.getValuePoints(functionality)).isEqualTo(new String[] { "NOT_AUTOMATABLE" }); }
@Test public void testGetValuePoints_NOT_COVERED() { Functionality functionality = new Functionality(); assertThat(cut.getValuePoints(functionality)).isEqualTo(new String[] { "NOT_COVERED" }); }