### Question:
AppcacheLinker extends AbstractLinker { @Nonnull final Set<String> getAllPermutationFiles( @Nonnull final ArrayList<PermutationArtifact> artifacts ) { final Set<String> files = new HashSet<>(); for ( final PermutationArtifact artifact : artifacts ) { files.addAll( artifact.getPermutation().getPermutationFiles() ); } return files; }  @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 getAllPermutationFiles() { final AppcacheLinker linker = new AppcacheLinker(); final ArrayList<PermutationArtifact> artifacts = new ArrayList<>(); final HashSet<String> files1 = new HashSet<>(); files1.add( "File1.txt" ); addPermutation( artifacts, "X", new ArrayList<>(), files1 ); final HashSet<String> files2 = new HashSet<>(); files2.add( "File2.txt" ); addPermutation( artifacts, "X", new ArrayList<>(), files2 ); final Set<String> files = linker.getAllPermutationFiles( artifacts ); assertEquals( files.size(), 2 ); assertTrue( files.contains( "File1.txt" ) ); assertTrue( files.contains( "File2.txt" ) ); }