예제 #1
0
        public void HasBuildArtifact()
        {
            var pipeline = new TestBuildPipelineWithBuildArtifact();
            var config   = BuildConfiguration.CreateInstance(c => c.SetComponent(new TestBuildPipelineComponent {
                Pipeline = pipeline
            }));
            var context = new TestContextBase(pipeline, config);

            Assert.That(context.HasBuildArtifact <TestBuildArtifactA>(), Is.False);
            Assert.That(context.HasBuildArtifact <TestBuildArtifactB>(), Is.False);

            config.Build();
            Assert.That(context.HasBuildArtifact <TestBuildArtifactA>(), Is.True);
            Assert.That(context.HasBuildArtifact <TestBuildArtifactB>(), Is.False);
            Assert.That(config.Run().Succeeded, Is.True);

            config.CleanBuildArtifact();
            Assert.That(context.HasBuildArtifact <TestBuildArtifactA>(), Is.False);
            Assert.That(context.HasBuildArtifact <TestBuildArtifactB>(), Is.False);

            Assert.Throws <ArgumentNullException>(() => context.HasBuildArtifact(null));
            Assert.Throws <InvalidOperationException>(() => context.HasBuildArtifact(typeof(object)));
            Assert.Throws <InvalidOperationException>(() => context.HasBuildArtifact(typeof(TestBuildArtifactInvalidA)));
            Assert.Throws <InvalidOperationException>(() => context.HasBuildArtifact(typeof(TestBuildArtifactInvalidB)));
        }