public void CanBuild_WithInvalidComponents_Throws()
        {
            var pipeline = new TestBuildPipelineWithInvalidComponents();
            var config   = BuildConfiguration.CreateInstance();

            Assert.Throws <InvalidOperationException>(() => pipeline.CanBuild(config));
        }
        public void CanRun_WithInvalidComponents_IsFalse()
        {
            var pipeline = new TestBuildPipelineWithInvalidComponents();
            var config   = BuildConfiguration.CreateInstance();

            Assert.Throws <InvalidOperationException>(() => pipeline.Build(config));
            Assert.That(pipeline.CanRun(config).Result, Is.False);
        }
        public void Run_WithInvalidComponents_Fails()
        {
            var pipeline = new TestBuildPipelineWithInvalidComponents();
            var config   = BuildConfiguration.CreateInstance();

            Assert.Throws <InvalidOperationException>(() => pipeline.Build(config));
            Assert.That(pipeline.CanRun(config).Result, Is.False);
            using (var result = pipeline.Run(config))
            {
                Assert.That(result.Succeeded, Is.False);
            }
        }
        public void BuildIncremental_WithInvalidComponents_Throws()
        {
            var pipeline = new TestBuildPipelineWithInvalidComponents();
            var config   = BuildConfiguration.CreateInstance();

            Assert.Throws <InvalidOperationException>(() => pipeline.CanBuild(config));
            Assert.Throws <InvalidOperationException>(() =>
            {
                using (var process = pipeline.BuildIncremental(config))
                {
                    while (process.Update())
                    {
                    }
                    Assert.That(process.Result.Succeeded, Is.False);
                }
            });
        }