36f929b726
`float32Array` generator; gave up on avoiding `any` type in `Jstat_test.ts`
59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
import {
|
|
run,
|
|
squiggleExpression,
|
|
errorValue,
|
|
result,
|
|
} from "../../src/js/index";
|
|
import * as fc from "fast-check";
|
|
|
|
let testRun = (x: string): result<squiggleExpression, errorValue> => {
|
|
return run(x, { sampleCount: 1000, xyPointLength: 100 });
|
|
};
|
|
|
|
describe("Squiggle is whitespace insensitive", () => {
|
|
test("when assigning a distribution to a name and calling that name", () => {
|
|
/*
|
|
* intersperse varying amounts of whitespace in a squiggle string
|
|
*/
|
|
let squiggleString = (
|
|
a: string,
|
|
b: string,
|
|
c: string,
|
|
d: string,
|
|
e: string,
|
|
f: string,
|
|
g: string,
|
|
h: string
|
|
): string => {
|
|
return `theDist${a}=${b}beta(${c}4${d},${e}5e1)${f};${g}theDist${h}`;
|
|
};
|
|
let squiggleOutput = testRun(
|
|
squiggleString("", "", "", "", "", "", "", "")
|
|
);
|
|
/*
|
|
* Add "\n" to this when multiline is introduced.
|
|
*/
|
|
let whitespaceGen = () => {
|
|
return fc.constantFrom("", " ", "\t", " ", " ", " ", " ");
|
|
};
|
|
|
|
fc.assert(
|
|
fc.property(
|
|
whitespaceGen(),
|
|
whitespaceGen(),
|
|
whitespaceGen(),
|
|
whitespaceGen(),
|
|
whitespaceGen(),
|
|
whitespaceGen(),
|
|
whitespaceGen(),
|
|
whitespaceGen(),
|
|
(a, b, c, d, e, f, g, h) => {
|
|
expect(testRun(squiggleString(a, b, c, d, e, f, g, h))).toEqual(
|
|
squiggleOutput
|
|
);
|
|
}
|
|
)
|
|
);
|
|
});
|
|
});
|