feat: Add return types for all generic operations
This commit is contained in:
parent
23b3ef4fdd
commit
3957ae8adf
16 changed files with 141 additions and 51 deletions
20
test/generic/_all.mjs
Normal file
20
test/generic/_all.mjs
Normal file
|
@ -0,0 +1,20 @@
|
|||
import assert from 'assert'
|
||||
import math from '../../src/pocomath.mjs'
|
||||
|
||||
describe('generic', () => {
|
||||
it('calculates mean', () => {
|
||||
assert.strictEqual(math.mean(1,2.5,3.25,4.75), 2.875)
|
||||
assert.strictEqual(
|
||||
math.returnTypeOf('mean', 'number,number,number,number'),
|
||||
'number'
|
||||
)
|
||||
})
|
||||
it('compares things', () => {
|
||||
assert.strictEqual(math.larger(7n, 3n), true)
|
||||
assert.strictEqual(
|
||||
math.returnTypeOf('larger', 'bigint,bigint'), 'boolean')
|
||||
assert.strictEqual(math.smallerEq(7.2, 3), false)
|
||||
assert.strictEqual(
|
||||
math.returnTypeOf('smallerEq', 'number,NumInt'), 'boolean')
|
||||
})
|
||||
})
|
|
@ -92,4 +92,10 @@ describe('fraction', () => {
|
|||
assert.deepStrictEqual(math.square(tf), math.fraction(9/16))
|
||||
})
|
||||
|
||||
it('knows the types of its operations', () => {
|
||||
assert.deepStrictEqual(
|
||||
math.returnTypeOf('ceiling', 'Fraction'), 'Fraction')
|
||||
assert.deepStrictEqual(
|
||||
math.returnTypeOf('multiply', 'Fraction,Fraction'), 'Fraction')
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue