private void Set(IList <PowerplantModel> powerplants, PowerplantType powerplantType, ref int priority)
 {
     foreach (var p in powerplants.Where(x => x.Type == powerplantType).OrderByDescending(x => x.Efficiency))
     {
         p.MeritOrder = priority;
         priority++;
     }
 }
        public void CalculateCO2EmissionCost_HappyFlow(PowerplantType powerplantType, int powerProduced, decimal expextedCo2Cost)
        {
            //Arrange
            var powerplant = new PowerplantModel
            {
                P    = powerProduced,
                Type = powerplantType
            };

            var fuels = PowerplantFixture.BuildFuels();

            var sut = new RunningCostService();

            //Act
            sut.CalculateCO2EmissionCost(powerplant, fuels);

            //Assert
            Assert.Equal(expextedCo2Cost, powerplant.CO2CostEmission);
        }
        public void CalculateRunningCost_HappyFlow(PowerplantType powerplantType, int powerProduced, decimal co2CostEmmission, decimal efficiency, decimal expectedRunningCost)
        {
            //Arrange
            var powerplant = new PowerplantModel
            {
                P               = powerProduced,
                Type            = powerplantType,
                Efficiency      = efficiency,
                CO2CostEmission = co2CostEmmission
            };

            var fuels = PowerplantFixture.BuildFuels();

            var sut = new RunningCostService();

            //Act
            sut.CalculateRunningCost(powerplant, fuels);

            //Assert
            Assert.Equal(expectedRunningCost, powerplant.RunningCost);
        }
 PowerplantFuelType(string name, float efficiency, float power, PowerplantType powerplantType) =>
 (Name, Efficiency, Power, PowerplantType) = (name, efficiency, power, powerplantType);