/// <summary> /// Set the version part to be automatically incremented. /// --auto-increment <VERSION_PART> /// 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); }
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()}"); }