### Question:
AppcacheLinker extends AbstractLinker { @Nonnull final Set<String> getConfigurationValues( @Nonnull final LinkerContext context, @Nonnull final String propertyName ) { final HashSet<String> set = new HashSet<>(); final SortedSet<ConfigurationProperty> properties = context.getConfigurationProperties(); for ( final ConfigurationProperty configurationProperty : properties ) { if ( propertyName.equals( configurationProperty.getName() ) ) { set.addAll( configurationProperty.getValues() ); } } return set; }  @Override String getDescription(); @Override ArtifactSet link( @Nonnull final TreeLogger logger,
                           @Nonnull final LinkerContext context,
                           @Nonnull final ArtifactSet artifacts,
                           final boolean onePermutation );  }### Answer:
@Test public void getConfigurationValues() { final AppcacheLinker linker = new AppcacheLinker(); final TreeSet<ConfigurationProperty> properties = new TreeSet<>( StandardLinkerContext.CONFIGURATION_PROPERTY_COMPARATOR ); properties.add( new TestConfigurationProperty( "ba", new ArrayList<>() ) ); properties.add( new TestConfigurationProperty( "foo", Arrays.asList( "V1", "V2" ) ) ); final LinkerContext context = mock( LinkerContext.class ); when( context.getConfigurationProperties() ).thenReturn( properties ); final Set<String> values = linker.getConfigurationValues( context, "foo" ); assertTrue( values.contains( "V1" ) ); assertTrue( values.contains( "V2" ) ); }