Skip to content

Commit e1e745e

Browse files
Add operator Acceleration times Duration (#987)
1 parent 6be7065 commit e1e745e

File tree

4 files changed

+30
-0
lines changed

4 files changed

+30
-0
lines changed

UnitsNet.Tests/CustomCode/AccelerationTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,12 @@ public void AccelerationTimesDensityEqualsSpecificWeight()
4343
SpecificWeight specificWeight = Acceleration.FromMetersPerSecondSquared(10) * Density.FromKilogramsPerCubicMeter(2);
4444
Assert.Equal(SpecificWeight.FromNewtonsPerCubicMeter(20), specificWeight);
4545
}
46+
47+
[Fact]
48+
public void AccelerationTimesDuration()
49+
{
50+
Speed speed = Acceleration.FromMetersPerSecondSquared(10) * Duration.FromSeconds(10);
51+
Assert.Equal(Speed.FromMetersPerSecond(100), speed);
52+
}
4653
}
4754
}

UnitsNet.Tests/CustomCode/DurationTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,5 +192,12 @@ public void DurationMultipliedByElectricCurrentEqualsElectricCharge()
192192
ElectricCharge ah = Duration.FromHours(5) * ElectricCurrent.FromAmperes(4);
193193
Assert.Equal(20, ah.AmpereHours);
194194
}
195+
196+
[Fact]
197+
public void DurationTimesAcceleration()
198+
{
199+
Speed speed = Duration.FromSeconds(10) * Acceleration.FromMetersPerSecondSquared(10);
200+
Assert.Equal(Speed.FromMetersPerSecond(100), speed);
201+
}
195202
}
196203
}

UnitsNet/CustomCode/Quantities/Acceleration.extra.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,13 @@ public partial struct Acceleration
1212
{
1313
return new SpecificWeight(acceleration.MetersPerSecondSquared * density.KilogramsPerCubicMeter, UnitsNet.Units.SpecificWeightUnit.NewtonPerCubicMeter);
1414
}
15+
16+
/// <summary>
17+
/// Multiply <see cref="Acceleration"/> and <see cref="Duration"/> to get <see cref="Speed"/>.
18+
/// </summary>
19+
public static Speed operator *(Acceleration acceleration, Duration duration)
20+
{
21+
return new Speed(acceleration.MetersPerSecondSquared * duration.Seconds, UnitsNet.Units.SpeedUnit.MeterPerSecond);
22+
}
1523
}
1624
}

UnitsNet/CustomCode/Quantities/Duration.extra.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,5 +103,13 @@ public static explicit operator Duration(TimeSpan duration)
103103
{
104104
return ElectricCharge.FromAmpereHours(current.Amperes * time.Hours);
105105
}
106+
107+
/// <summary>
108+
/// Multiply <see cref="Duration"/> and <see cref="Acceleration"/> to get <see cref="Speed"/>.
109+
/// </summary>
110+
public static Speed operator *(Duration duration, Acceleration acceleration)
111+
{
112+
return new Speed(acceleration.MetersPerSecondSquared * duration.Seconds, UnitsNet.Units.SpeedUnit.MeterPerSecond);
113+
}
106114
}
107115
}

0 commit comments

Comments
 (0)