@Test
  public void shouldFindModificationForEachMaterial() throws Exception {
    SvnMaterial material1 = repo.createMaterial("multiple-materials/trunk/part1", "part1");
    SvnMaterial material2 = repo.createMaterial("multiple-materials/trunk/part2", "part2");

    Materials materials = new Materials(material1, material2);

    repo.checkInOneFile("filename.txt", material1);
    repo.checkInOneFile("filename2.txt", material2);

    MaterialRevisions materialRevisions =
        materials.latestModification(pipelineDir, new TestSubprocessExecutionContext());

    assertThat(materialRevisions.getRevisions().size(), is(2));
    assertThat(materialRevisions, containsModifiedFile("/trunk/part1/filename.txt"));
    assertThat(materialRevisions, containsModifiedFile("/trunk/part2/filename2.txt"));
  }
 private void updateMaterials(Materials materials, Revision revision) {
   ProcessOutputStreamConsumer outputStreamConsumer = inMemoryConsumer();
   TestSubprocessExecutionContext execCtx = new TestSubprocessExecutionContext();
   materials.cleanUp(pipelineDir, outputStreamConsumer);
   for (Material material : materials) {
     material.updateTo(outputStreamConsumer, pipelineDir, new RevisionContext(revision), execCtx);
   }
 }
  @Test
  public void shouldDetectLatestModifications() throws Exception {

    SvnMaterial svnMaterial1 = repo.createMaterial("multiple-materials/trunk/part1", "part1");
    SvnMaterial svnMaterial2 = repo.createMaterial("multiple-materials/trunk/part2", "part2");
    Materials materials = new Materials(svnMaterial1, svnMaterial2);

    MaterialRevisions materialRevisions =
        materials.latestModification(pipelineDir, new TestSubprocessExecutionContext());

    MaterialRevision revision1 = materialRevisions.getMaterialRevision(0);
    assertThat(
        revision1.getRevision(),
        is(latestRevision(svnMaterial1, pipelineDir, new TestSubprocessExecutionContext())));

    MaterialRevision revision2 = materialRevisions.getMaterialRevision(1);
    assertThat(
        revision2.getRevision(),
        is(latestRevision(svnMaterial2, pipelineDir, new TestSubprocessExecutionContext())));
  }