|
21 | 21 | // MODULES // |
22 | 22 |
|
23 | 23 | var tape = require( 'tape' ); |
| 24 | +var structFactory = require( '@stdlib/dstructs/struct' ); |
| 25 | +var DataType = require( './../../../dtype-ctor' ); |
24 | 26 | var dtypes2signatures = require( './../lib' ); |
25 | 27 |
|
26 | 28 |
|
@@ -454,3 +456,47 @@ tape( 'the function transforms a list of array argument data types into a list o |
454 | 456 | t.deepEqual( actual, expected, 'returns expected value' ); |
455 | 457 | t.end(); |
456 | 458 | }); |
| 459 | + |
| 460 | +tape( 'the function transforms a list of array argument data types into a list of signatures (2 in, 1 out, data type instances)', function test( t ) { |
| 461 | + var expected; |
| 462 | + var actual; |
| 463 | + var dtypes; |
| 464 | + |
| 465 | + dtypes = [ new DataType( 'float64' ), new DataType( 'float64' ), new DataType( 'generic' ) ]; |
| 466 | + expected = [ '(float64, float64) => (generic)' ]; |
| 467 | + |
| 468 | + actual = dtypes2signatures( dtypes, 2, 1 ); |
| 469 | + |
| 470 | + t.deepEqual( actual, expected, 'returns expected value' ); |
| 471 | + t.end(); |
| 472 | +}); |
| 473 | + |
| 474 | +tape( 'the function transforms a list of array argument data types into a list of signatures (1 in, 1 out, structs)', function test( t ) { |
| 475 | + var expected; |
| 476 | + var schemas; |
| 477 | + var actual; |
| 478 | + var dtypes; |
| 479 | + |
| 480 | + schemas = [ |
| 481 | + [ |
| 482 | + { |
| 483 | + 'name': 'foo', |
| 484 | + 'type': 'float64' |
| 485 | + } |
| 486 | + ], |
| 487 | + [ |
| 488 | + { |
| 489 | + 'name': 'foo', |
| 490 | + 'type': 'float32' |
| 491 | + } |
| 492 | + ] |
| 493 | + ]; |
| 494 | + |
| 495 | + dtypes = [ structFactory( schemas[ 0 ] ), structFactory( schemas[ 1 ] ) ]; |
| 496 | + expected = [ '(|<float64>[0,8]|) => (|<float32>[0,4]|)' ]; |
| 497 | + |
| 498 | + actual = dtypes2signatures( dtypes, 1, 1 ); |
| 499 | + |
| 500 | + t.deepEqual( actual, expected, 'returns expected value' ); |
| 501 | + t.end(); |
| 502 | +}); |
0 commit comments