[wpiunits] Fix measure isNear function (#6313)

Now the function allows comparison between negative numbers, positive numbers or both.
This commit is contained in:
vichik
2024-01-31 23:18:47 +02:00
committed by GitHub
parent cb094e4ff6
commit 90bb6cfffa
2 changed files with 26 additions and 3 deletions

View File

@@ -319,5 +319,29 @@ class MeasureTest {
assertFalse(measureA.isNear(measureB, 0.739370));
assertTrue(measureA.isNear(measureB, 0.739375));
assertTrue(measureA.isNear(measureB, 100)); // some stupidly large range +/- 10000%
var measureC = unit.of(-1.21);
var measureD = unit.ofBaseUnits(-64);
assertTrue(measureC.isNear(measureC, 0));
assertTrue(measureD.isNear(measureD, 0));
assertFalse(measureC.isNear(measureD, 0));
assertFalse(measureC.isNear(measureD, 0.50));
assertFalse(measureC.isNear(measureD, 0.739370));
assertTrue(measureC.isNear(measureD, 0.739375));
assertTrue(measureC.isNear(measureD, 100)); // some stupidly large range +/- 10000%
var measureE = Units.Meters.of(1);
var measureF = Units.Feet.of(-3.28084);
assertTrue(measureE.isNear(measureF, 2.01));
assertFalse(measureE.isNear(measureF, 1.99));
assertTrue(measureF.isNear(measureE, 2.01));
assertFalse(measureF.isNear(measureE, 1.99));
assertTrue(Units.Feet.zero().isNear(Units.Millimeters.zero(), 0.001));
assertFalse(Units.Feet.of(2).isNear(Units.Millimeters.of(0), 0.001));
}
}