1 | import { expect } from "chai";
|
2 | import { BasicTests } from "../../test/helper/Basic.js";
|
3 | import { connectFrom, connectTo } from "../../test/helper/Connect.js";
|
4 |
|
5 | import { ConstantOutput } from "../../test/helper/ConstantOutput.js";
|
6 | import { Multiply } from "./Multiply.js";
|
7 |
|
8 | import { Signal } from "./Signal.js";
|
9 |
|
10 |
|
11 | describe("Multiply", () => {
|
12 | BasicTests(Multiply);
|
13 |
|
14 | describe("Multiplication", () => {
|
15 | it("handles input and output connections", () => {
|
16 | const mult = new Multiply();
|
17 | connectFrom().connect(mult, 0);
|
18 | connectFrom().connect(mult.factor);
|
19 | mult.connect(connectTo());
|
20 | mult.dispose();
|
21 | });
|
22 |
|
23 | it("correctly multiplys a signal and a scalar", () => {
|
24 | return ConstantOutput(() => {
|
25 | const signal = new Signal(2);
|
26 | const mult = new Multiply(10);
|
27 | expect(mult.value).to.equal(10);
|
28 | signal.connect(mult);
|
29 | mult.toDestination();
|
30 | }, 20);
|
31 | });
|
32 |
|
33 | it("can multiply two signals", () => {
|
34 | return ConstantOutput(() => {
|
35 | const sigA = new Signal(3);
|
36 | const sigB = new Signal(5);
|
37 | const mult = new Multiply();
|
38 | sigA.connect(mult);
|
39 | sigB.connect(mult.factor);
|
40 | mult.toDestination();
|
41 | }, 15);
|
42 | });
|
43 | });
|
44 | });
|