fast-check
Version:
Property based testing framework for JavaScript (like QuickCheck)
27 lines (26 loc) • 955 B
JavaScript
import { Arbitrary } from '../../check/arbitrary/definition/Arbitrary.js';
export class LazyArbitrary extends Arbitrary {
constructor(name) {
super();
this.name = name;
this.underlying = null;
}
generate(mrng, biasFactor) {
if (!this.underlying) {
throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);
}
return this.underlying.generate(mrng, biasFactor);
}
canShrinkWithoutContext(value) {
if (!this.underlying) {
throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);
}
return this.underlying.canShrinkWithoutContext(value);
}
shrink(value, context) {
if (!this.underlying) {
throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);
}
return this.underlying.shrink(value, context);
}
}