Skip to content

✨Add Equals() extension methods for untyped IQuantity - #1598

Closed
angularsen wants to merge 3 commits into
masterfrom
agl/untyped-equals-extensions
Closed

✨Add Equals() extension methods for untyped IQuantity#1598
angularsen wants to merge 3 commits into
masterfrom
agl/untyped-equals-extensions

typo

b005a0d
Select commit
Loading
Failed to load commit list.
Azure Pipelines / UnitsNet PR failed Aug 3, 2025 in 8m 7s

Build #PR_2025.08.03.014 had test failures

Details

Tests

  • Failed: 26 (0.04%)
  • Passed: 69,822 (99.91%)
  • Other: 40 (0.06%)
  • Total: 69,888

Annotations

Check failure on line 674 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / UnitsNet PR

Build log #L674

[xUnit.net 00:00:31.72]     UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Affine_IQuantity(value1: 25, value2: 25, toleranceValue: 0, expected: True) [FAIL]

Check failure on line 686 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / UnitsNet PR

Build log #L686

[xUnit.net 00:00:31.74]     UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Affine_IQuantity(value1: 25, value2: 25.100000000000001, toleranceValue: 0, expected: False) [FAIL]
[xUnit.net 00:00:31.74]     UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Affine_IQuantity(value1: 25, value2: 25.199999999999999, toleranceValue: 0.10000000000000001, expected: False) [FAIL]
[xUnit.net 00:00:31.74]     UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Affine_IQuantity(value1: 25, value2: 25.100000000000001, toleranceValue: 0.10001, expected: True) [FAIL]
[xUnit.net 00:00:31.74]     UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Affine_IQuantity(value1: 25, value2: 25, toleranceValue: 0.10000000000000001, expected: True) [FAIL]

Check failure on line 734 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / UnitsNet PR

Build log #L734

[xUnit.net 00:00:31.77]     UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Logarithmic_IQuantity_ComparesInLinearSpace(firstValue: 100, secondValue: 110) [FAIL]
[xUnit.net 00:00:31.77]     UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Logarithmic_IQuantity_ComparesInLinearSpace(firstValue: 100, secondValue: 90) [FAIL]
[xUnit.net 00:00:31.77]     UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Logarithmic_IQuantity_ComparesInLinearSpace(firstValue: 1, secondValue: 2) [FAIL]
[xUnit.net 00:00:31.77]     UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Logarithmic_IQuantity_WithDifferentType_ReturnsFalse [FAIL]

Check failure on line 776 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / UnitsNet PR

Build log #L776

[xUnit.net 00:00:31.77]     UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Affine_IQuantity_WithDifferentType_ReturnsFalse [FAIL]

Check failure on line 1 in UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Affine_IQuantity(value1: 25, value2: 25.199999999999999, toleranceValue: 0.10000000000000001, expected: False)

See this annotation in the file changed.

@azure-pipelines azure-pipelines / UnitsNet PR

UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Affine_IQuantity(value1: 25, value2: 25.199999999999999, toleranceValue: 0.10000000000000001, expected: False)

System.InvalidOperationException : Cannot convert UnitKey of type UnitsNet.Units.TemperatureUnit to UnitsNet.Units.TemperatureDeltaUnit.
Raw output
   at UnitsNet.UnitKey.ToUnit[TUnit]() in /_/UnitsNet/CustomCode/UnitKey.cs:line 164
   at UnitsNet.TemperatureDelta.As(UnitKey unitKey) in /_/UnitsNet/GeneratedCode/Quantities/TemperatureDelta.g.cs:line 801
   at UnitsNet.QuantityExtensions.GetValue(IQuantity quantity, UnitKey toUnit) in /_/UnitsNet/Extensions/QuantityExtensions.cs:line 35
   at UnitsNet.QuantityExtensions.Equals(IQuantity quantity, IQuantity other, IQuantity tolerance) in /_/UnitsNet/Extensions/QuantityExtensions.cs:line 28
   at UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Affine_IQuantity(Double value1, Double value2, Double toleranceValue, Boolean expected) in /_/UnitsNet.Tests/Extensions/QuantityExtensionsTests.cs:line 24
   at InvokeStub_QuantityExtensionsTests.Equals_Affine_IQuantity(Object, Span`1)
   at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

Check failure on line 1 in UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Affine_IQuantity(value1: 25, value2: 25.100000000000001, toleranceValue: 0.10001, expected: True)

See this annotation in the file changed.

@azure-pipelines azure-pipelines / UnitsNet PR

UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Affine_IQuantity(value1: 25, value2: 25.100000000000001, toleranceValue: 0.10001, expected: True)

System.InvalidOperationException : Cannot convert UnitKey of type UnitsNet.Units.TemperatureUnit to UnitsNet.Units.TemperatureDeltaUnit.
Raw output
   at UnitsNet.UnitKey.ToUnit[TUnit]() in /_/UnitsNet/CustomCode/UnitKey.cs:line 164
   at UnitsNet.TemperatureDelta.As(UnitKey unitKey) in /_/UnitsNet/GeneratedCode/Quantities/TemperatureDelta.g.cs:line 801
   at UnitsNet.QuantityExtensions.GetValue(IQuantity quantity, UnitKey toUnit) in /_/UnitsNet/Extensions/QuantityExtensions.cs:line 35
   at UnitsNet.QuantityExtensions.Equals(IQuantity quantity, IQuantity other, IQuantity tolerance) in /_/UnitsNet/Extensions/QuantityExtensions.cs:line 28
   at UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Affine_IQuantity(Double value1, Double value2, Double toleranceValue, Boolean expected) in /_/UnitsNet.Tests/Extensions/QuantityExtensionsTests.cs:line 24
   at InvokeStub_QuantityExtensionsTests.Equals_Affine_IQuantity(Object, Span`1)
   at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

Check failure on line 1 in UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Linear_IQuantity_WithDifferentType_ReturnsFalse

See this annotation in the file changed.

@azure-pipelines azure-pipelines / UnitsNet PR

UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Linear_IQuantity_WithDifferentType_ReturnsFalse

System.InvalidOperationException : Cannot convert UnitKey of type UnitsNet.Units.MassUnit to UnitsNet.Units.LengthUnit.
Raw output
   at UnitsNet.UnitKey.ToUnit[TUnit]() in /_/UnitsNet/CustomCode/UnitKey.cs:line 164
   at UnitsNet.Length.As(UnitKey unitKey) in /_/UnitsNet/GeneratedCode/Quantities/Length.g.cs:line 1413
   at UnitsNet.QuantityExtensions.GetValue(IQuantity quantity, UnitKey toUnit) in /_/UnitsNet/Extensions/QuantityExtensions.cs:line 35
   at UnitsNet.QuantityExtensions.Equals(IQuantity quantity, IQuantity other, IQuantity tolerance) in /_/UnitsNet/Extensions/QuantityExtensions.cs:line 28
   at UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Linear_IQuantity_WithDifferentType_ReturnsFalse() in /_/UnitsNet.Tests/Extensions/QuantityExtensionsTests.cs:line 48
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)

Check failure on line 1 in UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Logarithmic_IQuantity_ComparesInLinearSpace(firstValue: 100, secondValue: 110)

See this annotation in the file changed.

@azure-pipelines azure-pipelines / UnitsNet PR

UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Logarithmic_IQuantity_ComparesInLinearSpace(firstValue: 100, secondValue: 110)

Assert.False() Failure
Expected: False
Actual:   True
Raw output
   at UnitsNet.Tests.Extensions.QuantityExtensionsTests.Equals_Logarithmic_IQuantity_ComparesInLinearSpace(Double firstValue, Double secondValue) in /_/UnitsNet.Tests/Extensions/QuantityExtensionsTests.cs:line 166
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)