public void Should_Set_NoColor_To_True()
            {
                // Given
                var settings = new Ef6DatabaseUpdateSettings();

                // When
                settings.SetNoColor();

                // Then
                settings.NoColor.ShouldBeTrue();
            }
            public void Should_Set_Version_To_True()
            {
                // Given
                var settings = new Ef6DatabaseUpdateSettings();

                // When
                settings.SetVersion();

                // Then
                settings.Version.ShouldBeTrue();
            }
            public void Should_Set_WorkingDirectory()
            {
                // Given
                var settings = new Ef6DatabaseUpdateSettings();

                // When
                settings.FromPath(@"c:\temp");

                // Then
                settings.WorkingDirectory.ToString().ShouldBe(@"c:/temp");
            }
            public void Should_Throw_If_Path_Is_Null()
            {
                // Given
                var settings = new Ef6DatabaseUpdateSettings();

                // When
                var result = Record.Exception(() => settings.FromPath(null));

                // Then
                result.IsArgumentNullException("path");
            }
            public void Should_Set_PrefixOutput_To_True()
            {
                // Given
                var settings = new Ef6DatabaseUpdateSettings();

                // When
                settings.SetPrefixOutput();

                // Then
                settings.PrefixOutput.ShouldBeTrue();
            }
        public static void Ef6DatabaseUpdate(this ICakeContext context, Ef6DatabaseUpdateSettings settings)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            Ef6AddinInformation.LogVersionInformation(context.Log);
            var tool = new Ef6DatabaseUpdateTool(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools, context.Log);

            tool.Update(settings);
        }
        public static void Ef6DatabaseUpdate(this ICakeContext context, Action <Ef6DatabaseUpdateSettings> configurator)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            if (configurator == null)
            {
                throw new ArgumentNullException(nameof(configurator));
            }

            var settings = new Ef6DatabaseUpdateSettings();

            configurator(settings);
            context.Ef6DatabaseUpdate(settings);
        }