From 6089ad4967dc9eef42ea8783c09eff2d7e4bb5a5 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 7 Oct 2026 22:23:30 +0000 Subject: [PATCH] test: migrate `stats/incr/nanmpe` to ULP-based assertions Migrate the tests for `stats/incr/nanmpe` from relative tolerance assertions to ULP-based assertions using `@stdlib/assert/is-almost-same-value`, as proposed in #11352. Both migrated test cases pass at a ULP bound of `1`, which is the minimum passing integer value for each. Ref: https://github.com/stdlib-js/stdlib/issues/11352 Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_011wXHMLyS4pbZfSTXKCMyoX --- .../@stdlib/stats/incr/nanmpe/test/test.js | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/incr/nanmpe/test/test.js b/lib/node_modules/@stdlib/stats/incr/nanmpe/test/test.js index c5b5a60c38e5..692cb8ca2c8b 100644 --- a/lib/node_modules/@stdlib/stats/incr/nanmpe/test/test.js +++ b/lib/node_modules/@stdlib/stats/incr/nanmpe/test/test.js @@ -21,9 +21,8 @@ // MODULES // var tape = require( 'tape' ); -var abs = require( '@stdlib/math/base/special/abs' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); -var EPS = require( '@stdlib/constants/float64/eps' ); var incrnanmpe = require( './../lib' ); @@ -49,11 +48,9 @@ tape( 'the initial accumulated value is `null`', function test( t ) { tape( 'the accumulator function incrementally computes the mean percentage error, ignoring NaN values', function test( t ) { var expected; var actual; - var delta; var data; var acc; var sum; - var tol; var cnt; var N; var x; @@ -83,13 +80,7 @@ tape( 'the accumulator function incrementally computes the mean percentage error cnt += 1; expected = 100.0 * ( sum/cnt ); } - if ( actual === expected ) { - t.strictEqual( actual, expected, 'returns expected value' ); - } else { - delta = abs( expected - actual ); - tol = 10.0 * EPS * abs( expected ); - t.strictEqual( delta <= tol, true, 'within tolerance. Actual: '+actual+'. Expected: '+expected+'. Delta: '+delta+'. Tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( actual, expected, 1 ), true, 'returns expected value' ); } t.end(); }); @@ -97,10 +88,8 @@ tape( 'the accumulator function incrementally computes the mean percentage error tape( 'if not provided an input value, the accumulator function returns the current mean percentage error', function test( t ) { var expected; var actual; - var delta; var data; var acc; - var tol; var i; data = [ @@ -117,8 +106,6 @@ tape( 'if not provided an input value, the accumulator function returns the curr // Only counting non-NaN: [2.0, 3.0], [3.0, 5.0], [1.0, 10.0] expected = 100.0 / 3.0 * ((1.0/3.0) + (2.0/5.0) + (9.0/10.0)); - delta = abs( expected - actual ); - tol = 1.0 * EPS * abs( expected ); - t.strictEqual( delta <= tol, true, 'within tolerance. Actual: '+actual+'. Expected: '+expected+'. Delta: '+delta + '. Tol: '+tol+'.' ); + t.strictEqual( isAlmostSameValue( actual, expected, 1 ), true, 'returns expected value' ); t.end(); });