Skip to content

Commit 72fa8af

Browse files
committed
Merge IEquatableQuantity into IQuantity<TSelf, Unit, ValueType> interface
1 parent 158118f commit 72fa8af

File tree

122 files changed

+47
-178
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+47
-178
lines changed

CodeGen/Generators/UnitsNetGen/QuantityGenerator.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ namespace UnitsNet
7575
IComparable<{_quantity.Name}>,
7676
IConvertible,
7777
IEquatable<{_quantity.Name}>,
78-
IEquatableQuantity<{_quantity.Name}, {_quantity.ValueType}>,
7978
IFormattable");
8079

8180
Writer.WL($@"

UnitsNet.Tests/QuantityTests.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,25 @@ public void GetHashCodeForDifferentQuantitiesWithSameValuesAreNotEqual()
2222
[InlineData("10 m", "9.89 m" , ComparisonType.Absolute, 0.1, false)] // +/- 0.1m absolute tolerance and some additional margin tolerate rounding errors in test case.
2323
[InlineData("10 m", "9.91 m" , ComparisonType.Absolute, 0.1, true)]
2424
[InlineData("10 m", "10.09 m", ComparisonType.Absolute, 0.1, true)]
25+
[InlineData("10 m", "1009 cm", ComparisonType.Absolute, 0.1, true)] // Different unit, still equal.
2526
[InlineData("10 m", "10.11 m", ComparisonType.Absolute, 0.1, false)]
2627
[InlineData("10 m", "8.9 m" , ComparisonType.Absolute, 0.1, false)] // +/- 1m relative tolerance (10%) and some additional margin tolerate rounding errors in test case.
2728
[InlineData("10 m", "9.1 m" , ComparisonType.Relative, 0.1, true)]
2829
[InlineData("10 m", "10.9 m" , ComparisonType.Relative, 0.1, true)]
2930
[InlineData("10 m", "11.1 m" , ComparisonType.Relative, 0.1, false)]
3031
public void Equals_IEquatableQuantity(string q1String, string q2String, ComparisonType comparisonType, double tolerance, bool expectedEqual)
3132
{
32-
IEquatableQuantity<Length, double> q1 = Length.Parse(q1String, CultureInfo.InvariantCulture);
33-
var q2 = Length.Parse(q2String, CultureInfo.InvariantCulture);
33+
IQuantity<Length, LengthUnit, double> q1 = Length.Parse(q1String, CultureInfo.InvariantCulture);
34+
IQuantity<Length, LengthUnit, double> q2 = Length.Parse(q2String, CultureInfo.InvariantCulture);
3435

35-
Assert.NotStrictEqual(q1, q2); // Strict equality should not be equal.
3636
Assert.Equal(expectedEqual, q1.Equals(q2, tolerance, comparisonType));
3737
}
3838

3939
[Theory]
4040
[InlineData("10 m", "9.89 m" , ComparisonType.Absolute, 0.1, false)] // +/- 0.1m absolute tolerance and some additional margin tolerate rounding errors in test case.
4141
[InlineData("10 m", "9.91 m" , ComparisonType.Absolute, 0.1, true)]
4242
[InlineData("10 m", "10.09 m", ComparisonType.Absolute, 0.1, true)]
43+
[InlineData("10 m", "1009 cm", ComparisonType.Absolute, 0.1, true)] // Different unit, still equal.
4344
[InlineData("10 m", "10.11 m", ComparisonType.Absolute, 0.1, false)]
4445
[InlineData("10 m", "8.9 m" , ComparisonType.Absolute, 0.1, false)] // +/- 1m relative tolerance (10%) and some additional margin tolerate rounding errors in test case.
4546
[InlineData("10 m", "9.1 m" , ComparisonType.Relative, 0.1, true)]

UnitsNet/GeneratedCode/Quantities/Acceleration.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/AmountOfSubstance.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/AmplitudeRatio.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/Angle.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ApparentEnergy.g.cs

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ApparentPower.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/Area.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/AreaDensity.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/AreaMomentOfInertia.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/BitRate.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/BrakeSpecificFuelConsumption.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/Capacitance.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/CoefficientOfThermalExpansion.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/Compressibility.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/Density.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/Duration.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/DynamicViscosity.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricAdmittance.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricCharge.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricChargeDensity.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricConductance.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricConductivity.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricCurrent.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricCurrentDensity.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricCurrentGradient.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricField.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricInductance.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricPotential.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricPotentialAc.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricPotentialChangeRate.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricPotentialDc.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricResistance.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricResistivity.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ElectricSurfaceChargeDensity.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/Energy.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/EnergyDensity.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/Entropy.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/Force.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ForceChangeRate.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/ForcePerLength.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/Frequency.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/FuelEfficiency.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/HeatFlux.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

UnitsNet/GeneratedCode/Quantities/HeatTransferCoefficient.g.cs

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)