public SpecificHeatCapacity WithCounterUnit(EnergyMassDensityUnit newUnit)
        {
            // generator : FractionValuesGenerator.Add_WithCounterUnit
            var oldUnit = Unit.CounterUnit;

            if (oldUnit == newUnit)
            {
                return(this);
            }
            var oldFactor  = GlobalUnitRegistry.Factors.GetThrow(oldUnit);
            var newFactor  = GlobalUnitRegistry.Factors.GetThrow(newUnit);
            var resultUnit = Unit.WithCounterUnit(newUnit);

            return(new SpecificHeatCapacity(oldFactor / newFactor * Value, resultUnit));
        }
        /// <summary>
        /// Multiplication operation
        /// </summary>
        /// <param name="specificHeatCapacity">left factor (multiplicand)</param>
        /// <param name="deltaKelvinTemperature">rigth factor (multiplier)</param>
        public static EnergyMassDensity operator *(SpecificHeatCapacity specificHeatCapacity, DeltaKelvinTemperature deltaKelvinTemperature)
        {
            // generator : MultiplyAlgebraGenerator.CreateCodeForLeftFractionValue
            // EnergyMassDensity operator *(SpecificHeatCapacity specificHeatCapacity, DeltaKelvinTemperature deltaKelvinTemperature)
            // scenario with hint
            // .Is<SpecificHeatCapacity, DeltaKelvinTemperature, EnergyMassDensity>("*")
            // hint location Add_EnergyMassDensity_DeltaKelvinTemperature_SpecificHeatCapacity, line 16
            var specificHeatCapacityUnit = specificHeatCapacity.Unit;
            var tmp1       = specificHeatCapacityUnit.CounterUnit;
            var resultUnit = new EnergyMassDensityUnit(tmp1.CounterUnit, tmp1.DenominatorUnit);
            var deltaKelvinTemperatureConverted = deltaKelvinTemperature.ConvertTo(specificHeatCapacityUnit.DenominatorUnit);
            var value = specificHeatCapacity.Value * deltaKelvinTemperatureConverted.Value;

            return(new EnergyMassDensity(value, resultUnit));
            // scenario D1
        }
 public SpecificHeatCapacity(decimal value, EnergyMassDensityUnit counterUnit, KelvinTemperatureUnit denominatorUnit)
 {
     Value = value;
     Unit  = new SpecificHeatCapacityUnit(counterUnit, denominatorUnit);
 }
 public bool Equals(EnergyMassDensityUnit other)
 {
     return(CounterUnit.Equals(other.CounterUnit) && DenominatorUnit.Equals(other.DenominatorUnit));
 }