public void ShouldCleanDependenciesAndTheirDependenciesAfterBuildIfMarkedSo() { var artefacts = new HashSet <string>(); var d = new FakeArtefactTaskWithDependencies(artefacts, "d"); var a = new FakeArtefactTaskWithDependencies(artefacts, "a"); var b = new FakeArtefactTaskWithDependencies(artefacts, "b", new[] { new TaskDependency(d) }); var cDeps = new[] { new TaskDependency(a), new TaskDependency(b) { CleanAfterBuild = true } }; var c = new FakeArtefactTaskWithDependencies(artefacts, "c", cDeps); ITargetBuilderBounce bounce = GetBounce(); var invoker = new TargetInvoker(bounce); var bounceCommand = new BounceCommandParser().BuildAndClean; invoker.Invoke(bounceCommand, c); invoker.CleanAfterBuild(bounceCommand); Assert.That(artefacts, Has.Member("a")); Assert.That(artefacts, Has.No.Member("b")); Assert.That(b.Invoked); Assert.That(artefacts, Has.Member("c")); Assert.That(artefacts, Has.No.Member("d")); Assert.That(d.Invoked); }
public void ShouldNotCleanDepsIfMarkedCleanAfterBuildButAlsoDependedUponElsewhere() { var artefacts = new HashSet <string>(); var b = new FakeArtefactTaskWithDependencies(artefacts, "b"); var cDeps = new[] { new TaskDependency(b), new TaskDependency(b) { CleanAfterBuild = true } }; var c = new FakeArtefactTaskWithDependencies(artefacts, "c", cDeps); ITargetBuilderBounce bounce = GetBounce(); var invoker = new TargetInvoker(bounce); invoker.Invoke(new BounceCommandParser().Build, c); Assert.That(artefacts, Has.Member("b")); Assert.That(artefacts, Has.Member("c")); }
public void ShouldCleanDependenciesAndTheirDependenciesAfterBuildIfMarkedSo() { var artefacts = new HashSet<string>(); var d = new FakeArtefactTaskWithDependencies(artefacts, "d"); var a = new FakeArtefactTaskWithDependencies(artefacts, "a"); var b = new FakeArtefactTaskWithDependencies(artefacts, "b", new[] {new TaskDependency(d)}); var cDeps = new[] {new TaskDependency(a), new TaskDependency(b) {CleanAfterBuild = true}}; var c = new FakeArtefactTaskWithDependencies(artefacts, "c", cDeps); ITargetBuilderBounce bounce = GetBounce(); var invoker = new TargetInvoker(bounce); var bounceCommand = new BounceCommandParser().BuildAndClean; invoker.Invoke(bounceCommand, c); invoker.CleanAfterBuild(bounceCommand); Assert.That(artefacts, Has.Member("a")); Assert.That(artefacts, Has.No.Member("b")); Assert.That(b.Invoked); Assert.That(artefacts, Has.Member("c")); Assert.That(artefacts, Has.No.Member("d")); Assert.That(d.Invoked); }
public void ShouldNotCleanDepsIfMarkedCleanAfterBuildButAlsoDependedUponElsewhere() { var artefacts = new HashSet<string>(); var b = new FakeArtefactTaskWithDependencies(artefacts, "b"); var cDeps = new[] {new TaskDependency(b), new TaskDependency (b) {CleanAfterBuild = true}}; var c = new FakeArtefactTaskWithDependencies(artefacts, "c", cDeps); ITargetBuilderBounce bounce = GetBounce(); var invoker = new TargetInvoker(bounce); invoker.Invoke(new BounceCommandParser().Build, c); Assert.That(artefacts, Has.Member("b")); Assert.That(artefacts, Has.Member("c")); }