UNPKG

fast-check

Version:

Property based testing framework for JavaScript (like QuickCheck)

22 lines (21 loc) 594 B
import { Arbitrary } from './definition/Arbitrary.js'; class OneOfArbitrary extends Arbitrary { constructor(arbs) { super(); this.arbs = arbs; } generate(mrng) { const id = mrng.nextInt(0, this.arbs.length - 1); return this.arbs[id].generate(mrng); } withBias(freq) { return new OneOfArbitrary(this.arbs.map((a) => a.withBias(freq))); } } function oneof(...arbs) { if (arbs.length === 0) { throw new Error('fc.oneof expects at least one parameter'); } return new OneOfArbitrary([...arbs]); } export { oneof };