public void GetBuildArtifact() { var pipeline = new TestBuildPipelineWithBuildArtifact(); var config = BuildConfiguration.CreateInstance(c => c.SetComponent(new TestBuildPipelineComponent { Pipeline = pipeline })); var context = new TestContextBase(pipeline, config); Assert.That(context.GetBuildArtifact <TestBuildArtifactA>(), Is.Null); Assert.That(context.GetBuildArtifact <TestBuildArtifactB>(), Is.Null); config.Build(); Assert.That(context.GetBuildArtifact <TestBuildArtifactA>(), Is.Not.Null); Assert.That(context.GetBuildArtifact <TestBuildArtifactB>(), Is.Null); Assert.That(config.Run().Succeeded, Is.True); config.CleanBuildArtifact(); Assert.That(context.GetBuildArtifact <TestBuildArtifactA>(), Is.Null); Assert.That(context.GetBuildArtifact <TestBuildArtifactB>(), Is.Null); Assert.Throws <ArgumentNullException>(() => context.GetBuildArtifact(null)); Assert.Throws <InvalidOperationException>(() => context.GetBuildArtifact(typeof(object))); Assert.Throws <InvalidOperationException>(() => context.GetBuildArtifact(typeof(TestBuildArtifactInvalidA))); Assert.Throws <InvalidOperationException>(() => context.GetBuildArtifact(typeof(TestBuildArtifactInvalidB))); }