### Question:
CountryAxisGenerator implements AxisGenerator { @Override public String[] getValuePoints(Functionality functionality) { if (StringUtils.isEmpty(functionality.getCountryCodes())) { return null; } return functionality.getCountryCodes().split(Functionality.COUNTRY_CODES_SEPARATOR); }  @Override String getCode(); @Override String getName(); @Override Stream<AxisPointDTO> getPoints(long projectId); @Override String[] getValuePoints(Functionality functionality);  }### Answer:
@Test public void testGetValuePoints_without_countryCodes() { Functionality functionality = new Functionality().withCountryCodes(""); assertThat(cut.getValuePoints(functionality)).isNull(); }
@Test public void testGetValuePoints_with_null_countryCodes() { Functionality functionality = new Functionality(); assertThat(cut.getValuePoints(functionality)).isNull(); }
@Test public void testGetValuePoints_with_one_countryCode() { Functionality functionality = new Functionality().withCountryCodes("cn"); assertThat(cut.getValuePoints(functionality)).isEqualTo(new String[] { "cn" }); }
@Test public void testGetValuePoints_with_two_countryCodes() { Functionality functionality = new Functionality().withCountryCodes("be,cn"); assertThat(cut.getValuePoints(functionality)).isEqualTo(new String[] { "be", "cn" }); }