/// <summary>
        /// Set the version part to be automatically incremented.
        /// --auto-increment &lt;VERSION_PART&gt;
        /// major, minor, or patch (default)
        /// </summary>
        /// <param name="settings">The settings.</param>
        /// <param name="autoIncrement">The version part to be automatically incremented.</param>
        /// <returns>The <paramref name="settings" /> instance with <see cref="MinVerSettings.AutoIncrement" /> set to <paramref name="autoIncrement" />.</returns>
        public static MinVerSettings WithAutoIncrement(this MinVerSettings settings, MinVerAutoIncrement autoIncrement)
        {
            if (settings is null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            if (!Enum.IsDefined(typeof(MinVerAutoIncrement), autoIncrement))
            {
                throw new InvalidEnumArgumentException(nameof(autoIncrement), (int)autoIncrement,
                                                       typeof(MinVerAutoIncrement));
            }

            settings.AutoIncrement = autoIncrement;

            return(settings);
        }
コード例 #2
0
        public void Should_Add_Auto_Increment_Arguments_From_Environment_Variable(MinVerAutoIncrement?argValue, MinVerAutoIncrement?envVarOverrideValue, MinVerAutoIncrement?envVarValue, MinVerAutoIncrement expected)
        {
            var fixture = new MinVerToolFixture(_log)
            {
                Settings = { AutoIncrement = argValue },
            };

            if (envVarOverrideValue.HasValue)
            {
                fixture.Settings.EnvironmentVariables[MinVerEnvironmentVariables.MINVERAUTOINCREMENT] =
                    envVarOverrideValue.Value.ToString().ToLowerInvariant();
            }

            if (envVarValue.HasValue)
            {
                fixture.Environment.SetEnvironmentVariable(MinVerEnvironmentVariables.MINVERAUTOINCREMENT,
                                                           envVarValue.Value.ToString().ToLowerInvariant());
            }

            var result = fixture.Run();

            result.Args.Should().Be($"minver --auto-increment {expected.ToString().ToLowerInvariant()}");
        }