/// <summary>
        /// Initializes a new instance of the <see cref="WgetLimitRateArgument"/> class.
        /// </summary>
        /// <param name="value">Limit rate value.</param>
        /// <param name="unit">Limit rate units.</param>
        public WgetLimitRateArgument(double value, LimitRateUnitEnum unit)
        {
            ValidateLimitRateValue(value);

            Value = value;
            Unit  = unit;
        }
        public void Should_Format_LimitRateUnit_With_RateUnit(
            double limitRate,
            LimitRateUnitEnum limitRateUnit,
            string expectedValue)
        {
            var argument = new WgetLimitRateArgument(limitRate, limitRateUnit);

            Assert.Equal(expectedValue, argument.GetFormattedLimitRateValue());
        }
        public void Should_Set_LimitRate_As_Argument(double limitRate, LimitRateUnitEnum limitRateUnit)
        {
            var rate = new WgetLimitRateArgument(limitRate, limitRateUnit);

            _fixture.Settings.LimitRate = rate;
            var result             = _fixture.Run();
            var expectedSwitchName = _fixture.Settings.GetArgumentName(nameof(WgetSettings.LimitRate));

            Assert.Contains($"{expectedSwitchName}{WgetSettings.SwitchSeparator}{rate.GetFormattedLimitRateValue()}", result.Args);
        }