#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member

using System;

using Volpe.Cafe.Logging;
using Volpe.Cafe.MarketData.Design;
using Volpe.Cafe.ModelSettings;

namespace Volpe.Cafe.DfsSrModels.SalesEstimators
{
    /// <inheritdoc cref="SalesEstimator.FixedForecast"/>
    [Serializable]
    public sealed class FixedForecast : SalesEstimatorBase
    {
        /// <summary>
        /// Initializes a new instances of the <see cref="FixedForecast"/> class, using the specified industry data,
        /// modeling settings, and log writer.
        /// </summary>
        /// <inheritdoc path="/param"/>
        /// <inheritdoc path="/exception"/>
        public FixedForecast(IIndustry data, ModelingSettings settings, ILogger logWriter)
            : base(data, settings, logWriter)
        {
            this._salesLd = this.GetBaselineLightDutySales();
            this._salesHdpuv = this.GetBaselineHdpuvSales();
        }

        private double _salesLd;
        private double _salesHdpuv;

        public override double CalcNewLightDutySales(
            Scenario scen, int iteration, int year, ForecastFleet baseFleet, ForecastFleet scenFleet)
        {
            return this._salesLd;
        }

        public override double CalcNewHdpuvSales(
            Scenario scen, int iteration, int year, ForecastFleet baseFleet, ForecastFleet scenFleet)
        {
            return this._salesHdpuv;
        }

    }
}
