@Test public void shouldGetMaterialByFolderWhenHasOnlyOneMaterial() { Materials materials = new Materials(); HgMaterial material1 = MaterialsMother.hgMaterial(); materials.add(material1); assertThat(materials.byFolder(material1.getFolder()), is(material1)); }
@Test public void shouldNotGetPackageMaterialWhenOneOtherScmMaterialWithNoFolder() { Materials materials = new Materials(); Material material1 = new PackageMaterial("pid"); Material material2 = new HgMaterial("", null); materials.add(material1); materials.add(material2); assertThat(materials.byFolder(null), is(material2)); }
@Test public void shouldGetPluggableSCMMaterial_byFolder() { Materials materials = new Materials(); PluggableSCMMaterial material1 = new PluggableSCMMaterial("scm-id"); material1.setFolder("folder"); Material material2 = new HgMaterial("", "folder"); materials.add(material1); materials.add(material2); assertThat(materials.byFolder("folder"), is(material1)); }
@Test public void shouldGetMaterialByFolder() { Materials materials = new Materials(); HgMaterial material1 = MaterialsMother.hgMaterial(); material1.setFolder("folder1"); HgMaterial material2 = MaterialsMother.hgMaterial(); material2.setFolder("folder2"); materials.add(material1); materials.add(material2); assertThat(materials.byFolder("folder1"), is(material1)); }
public MaterialRevisions findRevisionsSince(MaterialRevisions peggedRevisions, Materials newMaterials, MaterialRevisions previous, MaterialRevisions latestRevisions) { MaterialRevisions materialRevisions = new MaterialRevisions(); for (Material material : newMaterials) { MaterialRevision previousRevision = previous.findRevisionFor(material); if (previousRevision == null) { materialRevisions.addRevision(latestRevisions.findRevisionFor(material)); } else { Material previousMaterial = previousRevision.getMaterial(); if (ensureHasRevisionForMaterial(peggedRevisions, materialRevisions, previousMaterial)) { continue; } previousMaterial = previousMaterial instanceof ScmMaterial ? newMaterials.byFolder(previousMaterial.getFolder()) : previousMaterial; List<Modification> newModifications = materialRepository.findModificationsSince(previousMaterial, previousRevision); MaterialRevision newMaterialRevision = previousRevision.latestChanges(material, previousRevision.getModifications(), newModifications); materialRevisions.addRevision(newMaterialRevision); } } return materialRevisions; }
@Test public void shouldNotGetDependencyMaterialWhenOneOtherScmMaterialWithNoFolder() { Materials materials = new Materials(); Material material1 = new DependencyMaterial(new CaseInsensitiveString("foo"), new CaseInsensitiveString("bar")); Material material2 = new HgMaterial("", null); materials.add(material1); materials.add(material2); assertThat(materials.byFolder(null), is(material2)); }