Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import * as fc from '../../../../../lib/fast-check';
import * as prand from 'pure-rand';
import { QualifiedParameters } from '../../../../../src/check/runner/configuration/QualifiedParameters';
import { RandomType } from '../../../../../src/check/runner/configuration/RandomType';
import { VerbosityLevel } from '../../../../../src/check/runner/configuration/VerbosityLevel';
const parametersArbitrary = fc.record(
{
seed: fc.integer(),
randomType: fc.constantFrom(prand.mersenne, prand.congruential, prand.congruential32, prand.xorshift128plus),
numRuns: fc.nat(),
timeout: fc.nat(),
path: fc.array(fc.nat()).map(arr => arr.join(':')),
unbiased: fc.boolean(),
verbose: fc.constantFrom(VerbosityLevel.None, VerbosityLevel.Verbose, VerbosityLevel.VeryVerbose),
examples: fc.array(fc.nat()),
endOnFailure: fc.boolean(),
skipAllAfterTimeLimit: fc.nat()
},
{ withDeletedKeys: true }
);
const hardCodedRandomType = fc.constantFrom(
'mersenne',
'congruential',
'congruential32',
private static readRandomType = (p: Parameters): ((seed: number) => RandomGenerator) => {
if (p.randomType == null) return prand.xorshift128plus;
if (typeof p.randomType === 'string') {
switch (p.randomType) {
case 'mersenne':
return prand.mersenne;
case 'congruential':
return prand.congruential;
case 'congruential32':
return prand.congruential32;
case 'xorshift128plus':
return prand.xorshift128plus;
default:
throw new Error(`Invalid random specified: '${p.randomType}'`);
}
}
return p.randomType;
};
private static readNumRuns = (p: Parameters): number => {