public void Should_Throw_If_Library_Is_WhiteSpace()
            {
                // Given
                var settings = new LibManUninstallSettings();

                // When
                var result = Record.Exception(() => settings.SetLibrary(" "));

                // Then
                result.IsArgumentNullException("libraryName");
            }
            public void Should_Throw_If_Settings_Are_Null()
            {
                // Given
                LibManUninstallSettings settings = null;

                // When
                var result = Record.Exception(() => settings.SetLibrary("jquery"));

                // Then
                result.IsArgumentNullException("settings");
            }
            public void Should_Set_Library()
            {
                // Given
                var settings    = new LibManUninstallSettings();
                var libraryName = "jquery";

                // When
                settings.SetLibrary(libraryName);

                // Then
                settings.Library.ShouldBe(libraryName);
            }
        public static void LibManUninstall(this ICakeContext context, LibManUninstallSettings settings)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

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

            LibManAddinInformation.LogVersionInformation(context.Log);
            var uninstaller = new LibManUninstaller(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools, context.Log);

            uninstaller.Uninstall(settings);
        }
        public static void LibManUninstall(this ICakeContext context, Action <LibManUninstallSettings> configurator)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

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

            var settings = new LibManUninstallSettings();

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