2222
2323var resolve = require ( 'path' ) . resolve ;
2424var tape = require ( 'tape' ) ;
25+ var isFinite = require ( '@stdlib/assert/is-finite' ) . isPrimitive ; // eslint-disable-line stdlib/no-redeclare
2526var Float64Results = require ( '@stdlib/stats/base/ztest/one-sample/results/float64' ) ;
2627var isnan = require ( '@stdlib/math/base/assert/is-nan' ) ;
2728var dfill = require ( '@stdlib/blas/ext/base/dfill' ) . ndarray ;
2829var normalFactory = require ( '@stdlib/random/array/normal' ) . factory ;
30+ var PINF = require ( '@stdlib/constants/float64/pinf' ) ;
31+ var NINF = require ( '@stdlib/constants/float64/ninf' ) ;
2932var tryRequire = require ( '@stdlib/utils/try-require' ) ;
3033
3134
@@ -65,12 +68,18 @@ tape( 'the function performs a one-sample Z-test over a strided array (alternati
6568 t . strictEqual ( out . rejected , false , 'returns expected value' ) ;
6669 t . strictEqual ( out . alternative , 'two-sided' , 'returns expected value' ) ;
6770 t . strictEqual ( isnan ( out . statistic ) , false , 'returns expected value' ) ;
71+ t . strictEqual ( isnan ( out . pValue ) , false , 'returns expected value' ) ;
72+ t . strictEqual ( isFinite ( out . ci [ 0 ] ) , true , 'returns expected value' ) ;
73+ t . strictEqual ( isFinite ( out . ci [ 1 ] ) , true , 'returns expected value' ) ;
6874
6975 out = dztest ( x . length , 'two-sided' , 0.1 , 100.0 , 1.0 , x , 1 , results ) ;
7076 t . strictEqual ( out , results , 'returns expected value' ) ;
7177 t . strictEqual ( out . rejected , true , 'returns expected value' ) ;
7278 t . strictEqual ( out . alternative , 'two-sided' , 'returns expected value' ) ;
7379 t . strictEqual ( isnan ( out . statistic ) , false , 'returns expected value' ) ;
80+ t . strictEqual ( isnan ( out . pValue ) , false , 'returns expected value' ) ;
81+ t . strictEqual ( isFinite ( out . ci [ 0 ] ) , true , 'returns expected value' ) ;
82+ t . strictEqual ( isFinite ( out . ci [ 1 ] ) , true , 'returns expected value' ) ;
7483
7584 // Generate an array with a sufficiently large sample size to effectively guarantee expected results:
7685 x = normal ( 10000 , 100.0 , 1.0 , {
@@ -82,6 +91,9 @@ tape( 'the function performs a one-sample Z-test over a strided array (alternati
8291 t . strictEqual ( out . rejected , true , 'returns expected value' ) ;
8392 t . strictEqual ( out . alternative , 'two-sided' , 'returns expected value' ) ;
8493 t . strictEqual ( isnan ( out . statistic ) , false , 'returns expected value' ) ;
94+ t . strictEqual ( isnan ( out . pValue ) , false , 'returns expected value' ) ;
95+ t . strictEqual ( isFinite ( out . ci [ 0 ] ) , true , 'returns expected value' ) ;
96+ t . strictEqual ( isFinite ( out . ci [ 1 ] ) , true , 'returns expected value' ) ;
8597
8698 t . end ( ) ;
8799} ) ;
@@ -103,6 +115,9 @@ tape( 'the function performs a one-sample Z-test over a strided array (alternati
103115 t . strictEqual ( out . rejected , false , 'returns expected value' ) ;
104116 t . strictEqual ( out . alternative , 'greater' , 'returns expected value' ) ;
105117 t . strictEqual ( isnan ( out . statistic ) , false , 'returns expected value' ) ;
118+ t . strictEqual ( isnan ( out . pValue ) , false , 'returns expected value' ) ;
119+ t . strictEqual ( isFinite ( out . ci [ 0 ] ) , true , 'returns expected value' ) ;
120+ t . strictEqual ( out . ci [ 1 ] , PINF , 'returns expected value' ) ;
106121
107122 // Generate an array with a sufficiently large sample size to effectively guarantee expected results:
108123 x = normal ( 10000 , 100.0 , 1.0 , {
@@ -114,6 +129,9 @@ tape( 'the function performs a one-sample Z-test over a strided array (alternati
114129 t . strictEqual ( out . rejected , true , 'returns expected value' ) ;
115130 t . strictEqual ( out . alternative , 'greater' , 'returns expected value' ) ;
116131 t . strictEqual ( isnan ( out . statistic ) , false , 'returns expected value' ) ;
132+ t . strictEqual ( isnan ( out . pValue ) , false , 'returns expected value' ) ;
133+ t . strictEqual ( isFinite ( out . ci [ 0 ] ) , true , 'returns expected value' ) ;
134+ t . strictEqual ( out . ci [ 1 ] , PINF , 'returns expected value' ) ;
117135
118136 t . end ( ) ;
119137} ) ;
@@ -135,6 +153,9 @@ tape( 'the function performs a one-sample Z-test over a strided array (alternati
135153 t . strictEqual ( out . rejected , false , 'returns expected value' ) ;
136154 t . strictEqual ( out . alternative , 'less' , 'returns expected value' ) ;
137155 t . strictEqual ( isnan ( out . statistic ) , false , 'returns expected value' ) ;
156+ t . strictEqual ( isnan ( out . pValue ) , false , 'returns expected value' ) ;
157+ t . strictEqual ( out . ci [ 0 ] , NINF , 'returns expected value' ) ;
158+ t . strictEqual ( isFinite ( out . ci [ 1 ] ) , true , 'returns expected value' ) ;
138159
139160 // Generate an array with a sufficiently large sample size to effectively guarantee expected results:
140161 x = normal ( 10000 , - 100.0 , 1.0 , {
@@ -146,6 +167,9 @@ tape( 'the function performs a one-sample Z-test over a strided array (alternati
146167 t . strictEqual ( out . rejected , true , 'returns expected value' ) ;
147168 t . strictEqual ( out . alternative , 'less' , 'returns expected value' ) ;
148169 t . strictEqual ( isnan ( out . statistic ) , false , 'returns expected value' ) ;
170+ t . strictEqual ( isnan ( out . pValue ) , false , 'returns expected value' ) ;
171+ t . strictEqual ( out . ci [ 0 ] , NINF , 'returns expected value' ) ;
172+ t . strictEqual ( isFinite ( out . ci [ 1 ] ) , true , 'returns expected value' ) ;
149173
150174 t . end ( ) ;
151175} ) ;
@@ -165,12 +189,14 @@ tape( 'if provided an `N` parameter less than or equal to `0`, the function retu
165189 t . strictEqual ( out . rejected , false , 'returns expected value' ) ;
166190 t . strictEqual ( out . alternative , 'two-sided' , 'returns expected value' ) ;
167191 t . strictEqual ( isnan ( out . statistic ) , true , 'returns expected value' ) ;
192+ t . strictEqual ( isnan ( out . pValue ) , true , 'returns expected value' ) ;
168193
169194 out = dztest ( - 1 , 'two-sided' , 0.1 , 0.0 , 1.0 , x , 1 , results ) ;
170195 t . strictEqual ( out , results , 'returns expected value' ) ;
171196 t . strictEqual ( out . rejected , false , 'returns expected value' ) ;
172197 t . strictEqual ( out . alternative , 'two-sided' , 'returns expected value' ) ;
173198 t . strictEqual ( isnan ( out . statistic ) , true , 'returns expected value' ) ;
199+ t . strictEqual ( isnan ( out . pValue ) , true , 'returns expected value' ) ;
174200
175201 t . end ( ) ;
176202} ) ;
@@ -195,6 +221,9 @@ tape( 'the function supports a stride parameter', opts, function test( t ) {
195221 t . strictEqual ( out . rejected , false , 'returns expected value' ) ;
196222 t . strictEqual ( out . alternative , 'two-sided' , 'returns expected value' ) ;
197223 t . strictEqual ( isnan ( out . statistic ) , false , 'returns expected value' ) ;
224+ t . strictEqual ( isnan ( out . pValue ) , false , 'returns expected value' ) ;
225+ t . strictEqual ( isFinite ( out . ci [ 0 ] ) , true , 'returns expected value' ) ;
226+ t . strictEqual ( isFinite ( out . ci [ 1 ] ) , true , 'returns expected value' ) ;
198227
199228 // Generate an array with a sufficiently large sample size to effectively guarantee expected results:
200229 x = normal ( N * 2 , 100.0 , 1.0 , {
@@ -207,6 +236,9 @@ tape( 'the function supports a stride parameter', opts, function test( t ) {
207236 t . strictEqual ( out . rejected , true , 'returns expected value' ) ;
208237 t . strictEqual ( out . alternative , 'two-sided' , 'returns expected value' ) ;
209238 t . strictEqual ( isnan ( out . statistic ) , false , 'returns expected value' ) ;
239+ t . strictEqual ( isnan ( out . pValue ) , false , 'returns expected value' ) ;
240+ t . strictEqual ( isFinite ( out . ci [ 0 ] ) , true , 'returns expected value' ) ;
241+ t . strictEqual ( isFinite ( out . ci [ 1 ] ) , true , 'returns expected value' ) ;
210242
211243 t . end ( ) ;
212244} ) ;
@@ -231,6 +263,9 @@ tape( 'the function supports a negative stride parameter', opts, function test(
231263 t . strictEqual ( out . rejected , false , 'returns expected value' ) ;
232264 t . strictEqual ( out . alternative , 'two-sided' , 'returns expected value' ) ;
233265 t . strictEqual ( isnan ( out . statistic ) , false , 'returns expected value' ) ;
266+ t . strictEqual ( isnan ( out . pValue ) , false , 'returns expected value' ) ;
267+ t . strictEqual ( isFinite ( out . ci [ 0 ] ) , true , 'returns expected value' ) ;
268+ t . strictEqual ( isFinite ( out . ci [ 1 ] ) , true , 'returns expected value' ) ;
234269
235270 // Generate an array with a sufficiently large sample size to effectively guarantee expected results:
236271 x = normal ( N * 2 , 100.0 , 1.0 , {
@@ -243,6 +278,9 @@ tape( 'the function supports a negative stride parameter', opts, function test(
243278 t . strictEqual ( out . rejected , true , 'returns expected value' ) ;
244279 t . strictEqual ( out . alternative , 'two-sided' , 'returns expected value' ) ;
245280 t . strictEqual ( isnan ( out . statistic ) , false , 'returns expected value' ) ;
281+ t . strictEqual ( isnan ( out . pValue ) , false , 'returns expected value' ) ;
282+ t . strictEqual ( isFinite ( out . ci [ 0 ] ) , true , 'returns expected value' ) ;
283+ t . strictEqual ( isFinite ( out . ci [ 1 ] ) , true , 'returns expected value' ) ;
246284
247285 t . end ( ) ;
248286} ) ;
0 commit comments