From 32f9be77d18d3ad0cb86e7290c6df7c51ab99ca5 Mon Sep 17 00:00:00 2001 From: Arnaud Bailly Date: Sun, 30 Aug 2026 18:13:01 +0200 Subject: Flesh out simple integrated shrinker --- pbt/ts/src/gen.test.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 pbt/ts/src/gen.test.ts (limited to 'pbt/ts/src/gen.test.ts') diff --git a/pbt/ts/src/gen.test.ts b/pbt/ts/src/gen.test.ts new file mode 100644 index 0000000..eaba36f --- /dev/null +++ b/pbt/ts/src/gen.test.ts @@ -0,0 +1,19 @@ +import Prando from 'prando'; +import {none} from 'fp-ts/lib/Option.js'; +import * as G from './gen.js'; +import {test, expect} from 'vitest'; + +test('can generate and shrink bytes', async () => { + const prng = new Prando(Math.random() * 1000); + const gen = new G.BytesGen(prng); + const bytes: number[][] = []; + for (let i = 1; i < 10; i++) { + bytes.push(gen.generate(i)); + } + console.log('Generated bytes:', bytes); + const replay = gen.replay(); + for (let i = 1; i < 10; i++) { + const replayed = replay.generate(i); + expect(replayed, `Replaying at ${i}`).toEqual(bytes[i - 1]); + } +}); -- cgit v1.3.1