2024-05-03 18:31:14 +00:00
|
|
|
import { BasicTests } from "../../test/helper/Basic.js";
|
|
|
|
import { Pow } from "./Pow.js";
|
|
|
|
import { ConstantOutput } from "../../test/helper/ConstantOutput.js";
|
|
|
|
import { Signal } from "./Signal.js";
|
2019-09-16 22:18:03 +00:00
|
|
|
|
|
|
|
describe("Pow", () => {
|
|
|
|
BasicTests(Pow);
|
|
|
|
|
|
|
|
context("Exponential Scaling", () => {
|
|
|
|
it("can do powers of 2", () => {
|
|
|
|
return ConstantOutput(() => {
|
2019-09-20 21:56:21 +00:00
|
|
|
const signal = new Signal(0.3);
|
|
|
|
const pow = new Pow(2);
|
2019-09-16 22:18:03 +00:00
|
|
|
signal.connect(pow);
|
|
|
|
pow.toDestination();
|
2024-05-03 18:31:14 +00:00
|
|
|
}, 0.09);
|
2019-09-16 22:18:03 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
it("can compute negative values and powers less than 1", () => {
|
|
|
|
return ConstantOutput(() => {
|
2019-09-20 21:56:21 +00:00
|
|
|
const signal = new Signal(-0.49);
|
|
|
|
const pow = new Pow(0.5);
|
2019-09-16 22:18:03 +00:00
|
|
|
signal.connect(pow);
|
|
|
|
pow.toDestination();
|
2024-05-03 18:31:14 +00:00
|
|
|
}, 0.7);
|
2019-09-16 22:18:03 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
it("can set a new exponent", () => {
|
|
|
|
return ConstantOutput(() => {
|
2019-09-20 21:56:21 +00:00
|
|
|
const signal = new Signal(0.5);
|
|
|
|
const pow = new Pow(1);
|
2019-09-20 00:49:02 +00:00
|
|
|
pow.value = 3;
|
2019-09-16 22:18:03 +00:00
|
|
|
signal.connect(pow);
|
|
|
|
pow.toDestination();
|
2024-05-03 18:31:14 +00:00
|
|
|
}, 0.125);
|
2019-09-16 22:18:03 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|