feat(PocomathInstance): Add importDependencies to follow the dependency graph
This commit is contained in:
parent
0fba6544b4
commit
e48d927b5f
2 changed files with 54 additions and 1 deletions
|
@ -6,7 +6,9 @@ import * as numberAdd from '../src/number/add.mjs'
|
|||
import * as complex from '../src/complex/all.mjs'
|
||||
import * as complexAdd from '../src/complex/add.mjs'
|
||||
import * as complexNegate from '../src/complex/negate.mjs'
|
||||
import * as complexComplex from '../src/complex/complex.mjs'
|
||||
import * as concreteSubtract from '../src/generic/subtract.concrete.mjs'
|
||||
import * as genericSubtract from '../src/generic/subtract.mjs'
|
||||
import extendToComplex from '../src/complex/extendToComplex.mjs'
|
||||
|
||||
const bw = new PocomathInstance('backwards')
|
||||
|
@ -62,4 +64,18 @@ describe('A custom instance', () => {
|
|||
ok.install(concreteSubtract)
|
||||
assert.strictEqual(ok.subtract(7, 5), 2)
|
||||
})
|
||||
|
||||
it("can load generics and then import their dependences", async function () {
|
||||
const chase = new PocomathInstance('Chase Dependencies')
|
||||
chase.install(genericSubtract)
|
||||
chase.install(complexComplex) // for convenience to build complex numbers
|
||||
await chase.importDependencies(['bigint', 'complex'])
|
||||
/* Now we have an instance that supports subtraction for Gaussian
|
||||
integers.
|
||||
*/
|
||||
assert.deepStrictEqual(
|
||||
chase.subtract(chase.complex(3n, 2n), chase.complex(2n, 5n)),
|
||||
math.complex(1n, -3n))
|
||||
})
|
||||
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue