public void CanRun_WithoutBuild_IsFalse()
        {
            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance();

            Assert.That(pipeline.CanRun(config).Result, Is.False);
        }
        public void CanBuild_IsTrue()
        {
            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance();

            Assert.That(pipeline.CanBuild(config).Result, Is.True);
        }
        public void Clean_Succeeds()
        {
            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance();

            Assert.That(pipeline.Clean(config).Succeeded, Is.True);
        }
        public void Build_WithoutProgress_Succeeds()
        {
            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance();

            Assert.That(pipeline.CanBuild(config).Result, Is.True);
            Assert.That(pipeline.Build(config).Succeeded, Is.True);
        }
        public void Build_Succeeds()
        {
            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance(c => c.SetComponent(new TestBuildPipelineComponent {
                Pipeline = pipeline
            }));

            Assert.That(config.Build().Succeeded, Is.True);
        }
        public void CanBuild_IsTrue()
        {
            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance(c => c.SetComponent(new TestBuildPipelineComponent {
                Pipeline = pipeline
            }));

            Assert.That(config.CanBuild().Result, Is.True);
        }
        public void GetBuildPipeline_IsEqualToPipeline()
        {
            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance(c => c.SetComponent(new TestBuildPipelineComponent {
                Pipeline = pipeline
            }));

            Assert.That(config.GetBuildPipeline(), Is.EqualTo(pipeline));
        }
        public void Build_Succeeds()
        {
            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance();

            Assert.That(pipeline.CanBuild(config).Result, Is.True);
            using (var progress = new BuildProgress("Building...", "Please wait!"))
            {
                Assert.That(pipeline.Build(config, progress).Succeeded, Is.True);
            }
        }
        public void Run_WithoutBuild_Fails()
        {
            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance();

            Assert.That(pipeline.CanRun(config).Result, Is.False);
            using (var result = pipeline.Run(config))
            {
                Assert.That(result.Succeeded, Is.False);
            }
        }
        public void Run_WithFailedBuild_Fails()
        {
            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance();

            Assert.That(config.Build().Succeeded, Is.False);

            using (var result = config.Run())
            {
                Assert.That(result.Succeeded, Is.False);
            }
        }
        public void Run_WithoutBuild_Fails()
        {
            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance(c => c.SetComponent(new TestBuildPipelineComponent {
                Pipeline = pipeline
            }));

            using (var result = config.Run())
            {
                Assert.That(result.Succeeded, Is.False);
            }
        }
        public void CanRun_WithoutPipeline_IsFalse()
        {
            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance(c => c.SetComponent(new TestBuildPipelineComponent {
                Pipeline = pipeline
            }));

            Assert.That(config.Build().Succeeded, Is.True);

            config.RemoveComponent <TestBuildPipelineComponent>();
            Assert.That(config.CanRun().Result, Is.False);
        }
        public void BuildIncremental_Succeeds()
        {
            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance();

            Assert.That(pipeline.CanBuild(config).Result, Is.True);
            using (var process = pipeline.BuildIncremental(config))
            {
                while (process.Update())
                {
                }
                Assert.That(process.Result.Succeeded, Is.True);
            }
        }
        public void Run_Succeeds()
        {
            BuildStepCollection steps = new[]
            {
                typeof(TestBuildStepA),
                typeof(TestBuildStepB)
            };

            var pipeline = new TestBuildPipeline();
            var config   = BuildConfiguration.CreateInstance();

            using (var context = new BuildContext(pipeline, config))
            {
                Assert.That(steps.Run(context).Succeeded, Is.True);
            }
        }
        public void Build_WithoutConfig_Throws()
        {
            var pipeline = new TestBuildPipeline();

            Assert.Throws <ArgumentNullException>(() => pipeline.Build(null));
        }