aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorST-DDT <[email protected]>2023-10-06 20:51:45 +0200
committerGitHub <[email protected]>2023-10-06 20:51:45 +0200
commitc0386ac7d7197d059086dff7593cc62d2bff4b50 (patch)
tree6d733f7a7f0c742751ef0631536ef2769971fd12
parent491d3191213e2ceaaee46dcc50ac25c3995ba2d5 (diff)
downloadfaker-c0386ac7d7197d059086dff7593cc62d2bff4b50.tar.xz
faker-c0386ac7d7197d059086dff7593cc62d2bff4b50.zip
chore: randomizer cleanup (#2431)
-rw-r--r--src/internal/mersenne.ts1
-rw-r--r--src/simple-faker.ts2
-rw-r--r--test/__snapshots__/mersenne.spec.ts.snap12
-rw-r--r--test/mersenne.spec.ts9
4 files changed, 16 insertions, 8 deletions
diff --git a/src/internal/mersenne.ts b/src/internal/mersenne.ts
index d97ec716..2d1cc4ce 100644
--- a/src/internal/mersenne.ts
+++ b/src/internal/mersenne.ts
@@ -328,6 +328,7 @@ class MersenneTwister19937 {
/**
* Generates a MersenneTwister19937 randomizer with 32 bits of precision.
+ * This is the default randomizer used by Faker.
*
* @internal
*/
diff --git a/src/simple-faker.ts b/src/simple-faker.ts
index 49fc3f1c..9dae6358 100644
--- a/src/simple-faker.ts
+++ b/src/simple-faker.ts
@@ -77,7 +77,7 @@ export class SimpleFaker {
}
/** @internal */
- private readonly _randomizer: Randomizer = generateMersenne32Randomizer();
+ private readonly _randomizer: Randomizer;
readonly datatype: DatatypeModule = new DatatypeModule(this);
readonly date: SimpleDateModule = new SimpleDateModule(this);
diff --git a/test/__snapshots__/mersenne.spec.ts.snap b/test/__snapshots__/mersenne.spec.ts.snap
index f067cbbc..c55b1152 100644
--- a/test/__snapshots__/mersenne.spec.ts.snap
+++ b/test/__snapshots__/mersenne.spec.ts.snap
@@ -1,13 +1,13 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`mersenne twister > seed: [42,1,2] > should return deterministic value for next() 1`] = `0.8562037434894592`;
+exports[`generateMersenne32Randomizer() > seed: [42,1,2] > should return deterministic value for next() 1`] = `0.8562037434894592`;
-exports[`mersenne twister > seed: [1211,1,2] > should return deterministic value for next() 1`] = `0.8916433283593506`;
+exports[`generateMersenne32Randomizer() > seed: [1211,1,2] > should return deterministic value for next() 1`] = `0.8916433283593506`;
-exports[`mersenne twister > seed: [1337,1,2] > should return deterministic value for next() 1`] = `0.17990487208589911`;
+exports[`generateMersenne32Randomizer() > seed: [1337,1,2] > should return deterministic value for next() 1`] = `0.17990487208589911`;
-exports[`mersenne twister > seed: 42 > should return deterministic value for next() 1`] = `0.37454011430963874`;
+exports[`generateMersenne32Randomizer() > seed: 42 > should return deterministic value for next() 1`] = `0.37454011430963874`;
-exports[`mersenne twister > seed: 1211 > should return deterministic value for next() 1`] = `0.9285201537422836`;
+exports[`generateMersenne32Randomizer() > seed: 1211 > should return deterministic value for next() 1`] = `0.9285201537422836`;
-exports[`mersenne twister > seed: 1337 > should return deterministic value for next() 1`] = `0.2620246761944145`;
+exports[`generateMersenne32Randomizer() > seed: 1337 > should return deterministic value for next() 1`] = `0.2620246761944145`;
diff --git a/test/mersenne.spec.ts b/test/mersenne.spec.ts
index 3f40da2c..6d3b9b59 100644
--- a/test/mersenne.spec.ts
+++ b/test/mersenne.spec.ts
@@ -6,9 +6,16 @@ import { times } from './support/times';
const NON_SEEDED_BASED_RUN = 25;
-describe('mersenne twister', () => {
+describe('generateMersenne32Randomizer()', () => {
const randomizer: Randomizer = generateMersenne32Randomizer();
+ it('should return a result matching the interface', () => {
+ expect(randomizer).toBeDefined();
+ expect(randomizer).toBeTypeOf('object');
+ expect(randomizer.next).toBeTypeOf('function');
+ expect(randomizer.seed).toBeTypeOf('function');
+ });
+
describe.each(
[...seededRuns, ...seededRuns.map((v) => [v, 1, 2])].map((v) => [v])
)('seed: %j', (seed) => {