1.29 kBPlain TextView Raw
1import { expect } from "chai";
2import { BasicTests } from "../../test/helper/Basic.js";
3import { connectFrom, connectTo } from "../../test/helper/Connect.js";
4// import Test from "../../test/helper/Test";
5import { ConstantOutput } from "../../test/helper/ConstantOutput.js";
6import { Multiply } from "./Multiply.js";
7// import Multiply from "Multiply";
8import { Signal } from "./Signal.js";
9// import Oscillator from "../source/Oscillator";
10
11describe("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});