Tone.js/Tone/signal/GreaterThan.test.ts

79 lines
2 KiB
TypeScript
Raw Normal View History

import { ConstantOutput } from "../../test/helper/ConstantOutput.js";
import { BasicTests } from "../../test/helper/Basic.js";
import { GreaterThan } from "./GreaterThan.js";
import { Signal } from "./Signal.js";
2019-11-14 00:34:38 +00:00
describe("GreaterThan", () => {
BasicTests(GreaterThan);
context("Comparison", () => {
it("outputs 0 when signal is less than value", () => {
return ConstantOutput(() => {
const signal = new Signal(1);
const gt = new GreaterThan(20);
signal.connect(gt);
gt.toDestination();
}, 0);
});
it("outputs 0 when signal is equal to the value", () => {
return ConstantOutput(() => {
const signal = new Signal(10);
const gt = new GreaterThan(10);
signal.connect(gt);
gt.toDestination();
}, 0);
});
it("outputs 1 value is greater than", () => {
return ConstantOutput(() => {
const signal = new Signal(0.8);
const gt = new GreaterThan(0.4);
signal.connect(gt);
gt.toDestination();
}, 1);
});
it("can handle negative values", () => {
return ConstantOutput(() => {
const signal = new Signal(-2);
const gt = new GreaterThan(-4);
signal.connect(gt);
gt.toDestination();
}, 1);
});
it("can set a new value", () => {
return ConstantOutput(() => {
const signal = new Signal(2);
const gt = new GreaterThan(-100);
gt.value = 1;
signal.connect(gt);
gt.toDestination();
}, 1);
});
it("outputs 0 when first signal is less than second", () => {
return ConstantOutput(() => {
const sigA = new Signal(1);
const sigB = new Signal(4);
const gt = new GreaterThan();
sigA.connect(gt);
sigB.connect(gt.comparator);
gt.toDestination();
}, 0);
});
it("outputs 1 when first signal is greater than second", () => {
return ConstantOutput(() => {
const sigA = new Signal(2.01);
const sigB = new Signal(2);
const gt = new GreaterThan();
sigA.connect(gt);
sigB.connect(gt.comparator);
gt.toDestination();
}, 1);
});
});
});