diff --git a/UnitsNet.Tests/CustomCode/AreaTests.cs b/UnitsNet.Tests/CustomCode/AreaTests.cs
index d637cd18a9..5edc60edba 100644
--- a/UnitsNet.Tests/CustomCode/AreaTests.cs
+++ b/UnitsNet.Tests/CustomCode/AreaTests.cs
@@ -51,6 +51,13 @@ public void AreaTimesMassFluxEqualsMassFlow()
Assert.Equal(massFlow, MassFlow.FromKilogramsPerSecond(40));
}
+ [Fact]
+ public void AreaTimesDensityEqualsLinearDensity()
+ {
+ LinearDensity linearDensity = Area.FromSquareCentimeters(2) * Density.FromGramsPerCubicCentimeter(10);
+ Assert.Equal(LinearDensity.FromGramsPerCentimeter(20), linearDensity);
+ }
+
[Theory]
[InlineData(0, 0)]
[InlineData(0.5, 0.19634954084936208)]
diff --git a/UnitsNet.Tests/CustomCode/DensityTests.cs b/UnitsNet.Tests/CustomCode/DensityTests.cs
index 6d70e059c2..a2a1cc467d 100644
--- a/UnitsNet.Tests/CustomCode/DensityTests.cs
+++ b/UnitsNet.Tests/CustomCode/DensityTests.cs
@@ -121,5 +121,12 @@ public void DensityTimesAccelerationEqualsSpecificWeight()
SpecificWeight specificWeight = Density.FromKilogramsPerCubicMeter(10) * Acceleration.FromMetersPerSecondSquared(2);
Assert.Equal(SpecificWeight.FromNewtonsPerCubicMeter(20), specificWeight);
}
+
+ [Fact]
+ public void DensityTimesAreaEqualsLinearDensity()
+ {
+ LinearDensity linearDensity = Density.FromGramsPerCubicCentimeter(10) * Area.FromSquareCentimeters(2);
+ Assert.Equal(LinearDensity.FromGramsPerCentimeter(20), linearDensity);
+ }
}
}
diff --git a/UnitsNet.Tests/CustomCode/LinearDensityTests.cs b/UnitsNet.Tests/CustomCode/LinearDensityTests.cs
index 65bfdcec5c..2acc6e4f96 100644
--- a/UnitsNet.Tests/CustomCode/LinearDensityTests.cs
+++ b/UnitsNet.Tests/CustomCode/LinearDensityTests.cs
@@ -22,6 +22,7 @@
using System;
+using Xunit;
namespace UnitsNet.Tests.CustomCode
{
@@ -47,6 +48,19 @@ public class LinearDensityTests : LinearDensityTestsBase
protected override double PoundsPerInchInOneKilogramPerMeter => 5.599741459E-02;
protected override double PoundsPerFootInOneKilogramPerMeter => 6.71968975e-1;
-
+
+ [Fact]
+ public void LinearDensityDividedByAreaEqualsDensity()
+ {
+ Density density = LinearDensity.FromGramsPerCentimeter(10) / Area.FromSquareCentimeters(2);
+ Assert.Equal(Density.FromGramsPerCubicCentimeter(5), density);
+ }
+
+ [Fact]
+ public void LinearDensityDividedByDensityEqualsArea()
+ {
+ Area area = LinearDensity.FromGramsPerCentimeter(10) / Density.FromGramsPerCubicCentimeter(2);
+ Assert.Equal(Area.FromSquareCentimeters(5), area);
+ }
}
}
diff --git a/UnitsNet/CustomCode/Quantities/Area.extra.cs b/UnitsNet/CustomCode/Quantities/Area.extra.cs
index a4c005015c..5a89d29521 100644
--- a/UnitsNet/CustomCode/Quantities/Area.extra.cs
+++ b/UnitsNet/CustomCode/Quantities/Area.extra.cs
@@ -41,5 +41,11 @@ public static Area FromCircleRadius(Length radius)
{
return VolumeFlow.FromCubicMetersPerSecond(area.SquareMeters * speed.MetersPerSecond);
}
+
+ /// Get from times .
+ public static LinearDensity operator *(Area area, Density density)
+ {
+ return LinearDensity.FromKilogramsPerMeter(area.SquareMeters * density.KilogramsPerCubicMeter);
+ }
}
}
diff --git a/UnitsNet/CustomCode/Quantities/Density.extra.cs b/UnitsNet/CustomCode/Quantities/Density.extra.cs
index e569cefac5..d20459ed7b 100644
--- a/UnitsNet/CustomCode/Quantities/Density.extra.cs
+++ b/UnitsNet/CustomCode/Quantities/Density.extra.cs
@@ -70,5 +70,11 @@ public static Density FromMolarity(Molarity molarity, Mass molecularWeight)
{
return new Molarity(density.KilogramsPerCubicMeter / molecularWeight.Kilograms, MolarityUnit.MolesPerCubicMeter);
}
+
+ /// Get from times .
+ public static LinearDensity operator *(Density density, Area area)
+ {
+ return LinearDensity.FromKilogramsPerMeter(density.KilogramsPerCubicMeter * area.SquareMeters);
+ }
}
}
diff --git a/UnitsNet/CustomCode/Quantities/LinearDensity.extra.cs b/UnitsNet/CustomCode/Quantities/LinearDensity.extra.cs
new file mode 100644
index 0000000000..06cc602b45
--- /dev/null
+++ b/UnitsNet/CustomCode/Quantities/LinearDensity.extra.cs
@@ -0,0 +1,21 @@
+// Licensed under MIT No Attribution, see LICENSE file at the root.
+// Copyright 2013 Andreas Gullberg Larsen (andreas.larsen84@gmail.com). Maintained at https://github.com/angularsen/UnitsNet.
+
+namespace UnitsNet
+{
+ public partial struct LinearDensity
+ {
+
+ /// Get from times .
+ public static Density operator /(LinearDensity linearDensity, Area area)
+ {
+ return Density.FromKilogramsPerCubicMeter(linearDensity.KilogramsPerMeter / area.SquareMeters);
+ }
+
+ /// Get from times .
+ public static Area operator /(LinearDensity linearDensity, Density density)
+ {
+ return Area.FromSquareMeters(linearDensity.KilogramsPerMeter / density.KilogramsPerCubicMeter);
+ }
+ }
+}