diff --git a/UnitsNet.Tests/CustomCode/AccelerationTests.cs b/UnitsNet.Tests/CustomCode/AccelerationTests.cs index 4e3ff9422f..d99c685c20 100644 --- a/UnitsNet.Tests/CustomCode/AccelerationTests.cs +++ b/UnitsNet.Tests/CustomCode/AccelerationTests.cs @@ -43,5 +43,12 @@ public void AccelerationTimesDensityEqualsSpecificWeight() SpecificWeight specificWeight = Acceleration.FromMetersPerSecondSquared(10) * Density.FromKilogramsPerCubicMeter(2); Assert.Equal(SpecificWeight.FromNewtonsPerCubicMeter(20), specificWeight); } + + [Fact] + public void AccelerationTimesDuration() + { + Speed speed = Acceleration.FromMetersPerSecondSquared(10) * Duration.FromSeconds(10); + Assert.Equal(Speed.FromMetersPerSecond(100), speed); + } } } diff --git a/UnitsNet.Tests/CustomCode/DurationTests.cs b/UnitsNet.Tests/CustomCode/DurationTests.cs index e083dab2c7..40dafa5691 100644 --- a/UnitsNet.Tests/CustomCode/DurationTests.cs +++ b/UnitsNet.Tests/CustomCode/DurationTests.cs @@ -192,5 +192,12 @@ public void DurationMultipliedByElectricCurrentEqualsElectricCharge() ElectricCharge ah = Duration.FromHours(5) * ElectricCurrent.FromAmperes(4); Assert.Equal(20, ah.AmpereHours); } + + [Fact] + public void DurationTimesAcceleration() + { + Speed speed = Duration.FromSeconds(10) * Acceleration.FromMetersPerSecondSquared(10); + Assert.Equal(Speed.FromMetersPerSecond(100), speed); + } } } diff --git a/UnitsNet/CustomCode/Quantities/Acceleration.extra.cs b/UnitsNet/CustomCode/Quantities/Acceleration.extra.cs index 75a2eba9cf..aeb17c32a8 100644 --- a/UnitsNet/CustomCode/Quantities/Acceleration.extra.cs +++ b/UnitsNet/CustomCode/Quantities/Acceleration.extra.cs @@ -12,5 +12,13 @@ public partial struct Acceleration { return new SpecificWeight(acceleration.MetersPerSecondSquared * density.KilogramsPerCubicMeter, UnitsNet.Units.SpecificWeightUnit.NewtonPerCubicMeter); } + + /// + /// Multiply and to get . + /// + public static Speed operator *(Acceleration acceleration, Duration duration) + { + return new Speed(acceleration.MetersPerSecondSquared * duration.Seconds, UnitsNet.Units.SpeedUnit.MeterPerSecond); + } } } diff --git a/UnitsNet/CustomCode/Quantities/Duration.extra.cs b/UnitsNet/CustomCode/Quantities/Duration.extra.cs index 32e6dbc09d..cb17556515 100644 --- a/UnitsNet/CustomCode/Quantities/Duration.extra.cs +++ b/UnitsNet/CustomCode/Quantities/Duration.extra.cs @@ -103,5 +103,13 @@ public static explicit operator Duration(TimeSpan duration) { return ElectricCharge.FromAmpereHours(current.Amperes * time.Hours); } + + /// + /// Multiply and to get . + /// + public static Speed operator *(Duration duration, Acceleration acceleration) + { + return new Speed(acceleration.MetersPerSecondSquared * duration.Seconds, UnitsNet.Units.SpeedUnit.MeterPerSecond); + } } }