1 | var CompositionAlgebra = require('../src/CompositionAlgebra')
|
2 | var realField = require('../src/realField')
|
3 |
|
4 | describe('CompositionAlgebra', () => {
|
5 | it('has signature (field)(num)', () => {
|
6 | var R = CompositionAlgebra(realField)(0)
|
7 | var C = CompositionAlgebra(realField)(1)
|
8 | var H = CompositionAlgebra(realField)(2)
|
9 | var O = CompositionAlgebra(realField)(3)
|
10 |
|
11 | R.should.be.instanceOf(Function)
|
12 | C.should.be.instanceOf(Function)
|
13 | H.should.be.instanceOf(Function)
|
14 | O.should.be.instanceOf(Function)
|
15 | })
|
16 |
|
17 | it('returns a Scalar class', () => {
|
18 | var R = CompositionAlgebra(realField)(0)
|
19 | var C = CompositionAlgebra(realField)(1)
|
20 |
|
21 | R.addition(2, 3).should.be.eql(5)
|
22 |
|
23 | var x = new R(2)
|
24 | x.data.should.be.eql(2)
|
25 |
|
26 | x.addition(3).data.should.be.eql(5)
|
27 |
|
28 | C.addition([1, 2], [3, 4]).should.be.eql([4, 6])
|
29 |
|
30 | var z = new C([1, 2])
|
31 | z.data.should.be.eql([1, 2])
|
32 |
|
33 | z.addition([3, 4]).data.should.be.eql([4, 6])
|
34 | })
|
35 | })
|