|
22 | 22 |
|
23 | 23 | var tape = require( 'tape' );
|
24 | 24 | var Complex64Array = require( '@stdlib/array/complex64' );
|
| 25 | +var BooleanArray = require( '@stdlib/array/bool' ); |
25 | 26 | var toAccessorArray = require( '@stdlib/array/base/to-accessor-array' );
|
26 | 27 | var Int32Array = require( '@stdlib/array/int32' );
|
27 | 28 | var isSameComplex64Array = require( '@stdlib/assert/is-same-complex64array' );
|
| 29 | +var isSameBooleanArray = require( '@stdlib/assert/is-same-booleanarray' ); |
28 | 30 | var zeros = require( '@stdlib/array/zeros' );
|
29 | 31 | var mskreject = require( './../lib/assign.js' );
|
30 | 32 |
|
@@ -193,6 +195,58 @@ tape( 'the function rejects array elements (complex typed array)', function test
|
193 | 195 | t.end();
|
194 | 196 | });
|
195 | 197 |
|
| 198 | +tape( 'the function rejects array elements (boolean array)', function test( t ) { |
| 199 | + var expected; |
| 200 | + var actual; |
| 201 | + var mask; |
| 202 | + var out; |
| 203 | + var x; |
| 204 | + |
| 205 | + x = new BooleanArray( [ true, false, false, true ] ); |
| 206 | + |
| 207 | + mask = [ 1, 0, 1, 0 ]; |
| 208 | + out = new BooleanArray( 2 ); |
| 209 | + actual = mskreject( x, mask, out, 1, 0 ); |
| 210 | + expected = new BooleanArray( [ false, true ] ); |
| 211 | + |
| 212 | + t.strictEqual( actual, out, 'returns expected value' ); |
| 213 | + t.strictEqual( isSameBooleanArray( actual, expected ), true, 'returns expected value' ); |
| 214 | + |
| 215 | + mask = [ 1, 1, 1, 1 ]; |
| 216 | + out = new BooleanArray( 0 ); |
| 217 | + actual = mskreject( x, mask, out, 1, 0 ); |
| 218 | + expected = new BooleanArray( [] ); |
| 219 | + |
| 220 | + t.strictEqual( actual, out, 'returns expected value' ); |
| 221 | + t.strictEqual( isSameBooleanArray( actual, expected ), true, 'returns expected value' ); |
| 222 | + |
| 223 | + mask = [ 1, 1, 1, 0 ]; |
| 224 | + out = new BooleanArray( 1 ); |
| 225 | + actual = mskreject( x, mask, out, 1, 0 ); |
| 226 | + expected = new BooleanArray( [ true ] ); |
| 227 | + |
| 228 | + t.strictEqual( actual, out, 'returns expected value' ); |
| 229 | + t.strictEqual( isSameBooleanArray( actual, expected ), true, 'returns expected value' ); |
| 230 | + |
| 231 | + mask = [ 0, 0, 0, 0 ]; |
| 232 | + out = new BooleanArray( 4 ); |
| 233 | + actual = mskreject( x, mask, out, 1, 0 ); |
| 234 | + expected = new BooleanArray( [ true, false, false, true ] ); |
| 235 | + |
| 236 | + t.strictEqual( actual, out, 'returns expected value' ); |
| 237 | + t.strictEqual( isSameBooleanArray( actual, expected ), true, 'returns expected value' ); |
| 238 | + |
| 239 | + mask = [ 1, 0, 1, 0 ]; |
| 240 | + out = new BooleanArray( 4 ); |
| 241 | + actual = mskreject( x, mask, out, -2, out.length-1 ); |
| 242 | + expected = new BooleanArray( [ false, true, false, false ] ); |
| 243 | + |
| 244 | + t.strictEqual( actual, out, 'returns expected value' ); |
| 245 | + t.strictEqual( isSameBooleanArray( actual, expected ), true, 'returns expected value' ); |
| 246 | + |
| 247 | + t.end(); |
| 248 | +}); |
| 249 | + |
196 | 250 | tape( 'the function rejects array elements (accessors)', function test( t ) {
|
197 | 251 | var expected;
|
198 | 252 | var actual;
|
@@ -285,5 +339,11 @@ tape( 'the function returns leaves an output array unchanged if provided a secon
|
285 | 339 | actual = mskreject( x, mask, out, 1, 0 );
|
286 | 340 | t.strictEqual( isSameComplex64Array( actual, expected ), true, 'returns expected value' );
|
287 | 341 |
|
| 342 | + x = new BooleanArray( [ true, false, false, true ] ); |
| 343 | + out = new BooleanArray( [ false, false, false, false ] ); |
| 344 | + expected = new BooleanArray( [ false, false, false, false ] ); |
| 345 | + actual = mskreject( x, mask, out, 1, 0 ); |
| 346 | + t.strictEqual( isSameBooleanArray( actual, expected ), true, 'returns expected value' ); |
| 347 | + |
288 | 348 | t.end();
|
289 | 349 | });
|
0 commit comments