Skip to content

Commit 5b3f1fe

Browse files
committed
test: use approximate equality for native addon tests
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent f7e8910 commit 5b3f1fe

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

lib/node_modules/@stdlib/stats/base/dists/bernoulli/mgf/test/test.mgf.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ tape( 'the function evaluates the mgf for `x` given small parameter `p`', functi
7979
p = smallP.p;
8080
for ( i = 0; i < x.length; i++ ) {
8181
y = mgf( x[i], p[i] );
82-
t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] );
82+
t.strictEqual( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] );
8383
}
8484
t.end();
8585
});
@@ -96,7 +96,7 @@ tape( 'the function evaluates the mgf for `x` given large parameter `p`', functi
9696
p = largeP.p;
9797
for ( i = 0; i < x.length; i++ ) {
9898
y = mgf( x[i], p[i] );
99-
t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] );
99+
t.strictEqual( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] );
100100
}
101101
t.end();
102102
});

lib/node_modules/@stdlib/stats/base/dists/bernoulli/mgf/test/test.native.js

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ var resolve = require( 'path' ).resolve;
2424
var tape = require( 'tape' );
2525
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var tryRequire = require( '@stdlib/utils/try-require' );
27+
var abs = require( '@stdlib/math/base/special/abs' );
28+
var EPS = require( '@stdlib/constants/float64/eps' );
2729
var PINF = require( '@stdlib/constants/float64/pinf' );
2830
var NINF = require( '@stdlib/constants/float64/ninf' );
2931

@@ -78,6 +80,8 @@ tape( 'if provided a value outside `[0,1]` for success probability `p`, the func
7880

7981
tape( 'the function evaluates the mgf for `x` given small parameter `p`', opts, function test( t ) {
8082
var expected;
83+
var delta;
84+
var tol;
8185
var x;
8286
var p;
8387
var y;
@@ -88,13 +92,21 @@ tape( 'the function evaluates the mgf for `x` given small parameter `p`', opts,
8892
p = smallP.p;
8993
for ( i = 0; i < x.length; i++ ) {
9094
y = mgf( x[i], p[i] );
91-
t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] );
95+
if ( y === expected[i] ) {
96+
t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] );
97+
} else {
98+
delta = abs( y - expected[i] );
99+
tol = 1.0 * EPS * abs( expected[i] );
100+
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+', p: '+p[i]+', actual: '+y+', expected: '+expected[i]+'. Δ: '+delta+'. tol: '+tol+'.' );
101+
}
92102
}
93103
t.end();
94104
});
95105

96106
tape( 'the function evaluates the mgf for `x` given large parameter `p`', opts, function test( t ) {
97107
var expected;
108+
var delta;
109+
var tol;
98110
var x;
99111
var p;
100112
var y;
@@ -105,7 +117,13 @@ tape( 'the function evaluates the mgf for `x` given large parameter `p`', opts,
105117
p = largeP.p;
106118
for ( i = 0; i < x.length; i++ ) {
107119
y = mgf( x[i], p[i] );
108-
t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] );
120+
if ( y === expected[i] ) {
121+
t.equal( y, expected[i], 'x: '+x[i]+', p: '+p[i]+', y: '+y+', expected: '+expected[i] );
122+
} else {
123+
delta = abs( y - expected[i] );
124+
tol = 1.0 * EPS * abs( expected[i] );
125+
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+', p: '+p[i]+', actual: '+y+', expected: '+expected[i]+'. Δ: '+delta+'. tol: '+tol+'.' );
126+
}
109127
}
110128
t.end();
111129
});

0 commit comments

Comments
 (0)