### Question:
AppenderPropertyDescriptor implements PropertyDescriptor { @Override public String get(Vertex vertex) { String value1 = propertyDescriptor1.get(vertex); String value2 = propertyDescriptor2.get(vertex); if (value1 == null) { return value2; } else if (value2 == null) { return value1; } else { return String.format("%s%s%s", value1, separator, value2); } } AppenderPropertyDescriptor(PropertyDescriptor propertyDescriptor1, PropertyDescriptor propertyDescriptor2,
                                    String separator); @Override String get(Vertex vertex);  }### Answer:
@Test public void getReturnAppendsTheValuesOfThePropertyDescriptorsSeparatedByTheSeparator() { PropertyDescriptor propertyDescriptor1 = propertyDescriptorThatReturns("value1"); PropertyDescriptor propertyDescriptor2 = propertyDescriptorThatReturns("value2"); String separator = " "; AppenderPropertyDescriptor instance = new AppenderPropertyDescriptor(propertyDescriptor1, propertyDescriptor2, separator); Vertex vertex = vertex().build(); String value = instance.get(vertex); assertThat(value, is("value1 value2")); }
@Test public void getReturnsOnlyTheValueOfTheFirstDescriptorIfTheSecondReturnsNull() { PropertyDescriptor propertyDescriptor1 = propertyDescriptorThatReturns("value1"); PropertyDescriptor propertyDescriptor2 = propertyDescriptorThatReturns(null); String separator = " "; AppenderPropertyDescriptor instance = new AppenderPropertyDescriptor(propertyDescriptor1, propertyDescriptor2, separator); Vertex vertex = vertex().build(); String value = instance.get(vertex); assertThat(value, is("value1")); }
@Test public void getReturnsOnlyTheValueOfTheSecondDescriptorIfTheFirstReturnsNull() { PropertyDescriptor propertyDescriptor1 = propertyDescriptorThatReturns(null); PropertyDescriptor propertyDescriptor2 = propertyDescriptorThatReturns("value2"); String separator = " "; AppenderPropertyDescriptor instance = new AppenderPropertyDescriptor(propertyDescriptor1, propertyDescriptor2, separator); Vertex vertex = vertex().build(); String value = instance.get(vertex); assertThat(value, is("value2")); }