import { expect } from "chai"; import { BasicTests } from "test/helper/Basic"; import { Offline } from "test/helper/Offline"; import { StereoSignal } from "test/helper/StereoSignal"; import { Signal } from "Tone/signal/Signal"; import { Mono } from "./Mono"; describe("Mono", () => { BasicTests(Mono); context("Mono", () => { it("Makes a mono signal in both channels", () => { return Offline(() => { const mono = new Mono().toDestination(); const signal = new Signal(2).connect(mono); }, 0.1, 2).then((buffer) => { expect(buffer.toArray()[0][0]).to.equal(2); expect(buffer.toArray()[1][0]).to.equal(2); expect(buffer.toArray()[0][100]).to.equal(2); expect(buffer.toArray()[1][100]).to.equal(2); expect(buffer.toArray()[0][1000]).to.equal(2); expect(buffer.toArray()[1][1000]).to.equal(2); }); }); it("Sums a stereo signal into a mono signal", () => { return Offline(() => { const mono = new Mono().toDestination(); const signal = StereoSignal(2, 2).connect(mono); }, 0.1, 2).then((buffer) => { expect(buffer.toArray()[0][0]).to.equal(2); expect(buffer.toArray()[1][0]).to.equal(2); expect(buffer.toArray()[0][100]).to.equal(2); expect(buffer.toArray()[1][100]).to.equal(2); expect(buffer.toArray()[0][1000]).to.equal(2); expect(buffer.toArray()[1][1000]).to.equal(2); }); }); }); });