refactor(curriculum): use RandomMocker from curriculum-helpers (#56324)

This commit is contained in:
Oliver Eyton-Williams
2024-10-01 07:18:12 +02:00
committed by GitHub
parent 0f5cb9d3cd
commit a3e6a3516e

View File

@@ -23,23 +23,25 @@ assert.lengthOf(diceValuesArr, 5);
When your `rollDiceBtn` is clicked a second time, your `diceValuesArr` array should contain only five new elements.
```js
__setRandom();
const __mocker = new __helpers.RandomMocker();
try {
__mocker.mock();
rollDiceBtn.click();
const old = [...diceValuesArr];
rollDiceBtn.click();
assert.lengthOf(diceValuesArr, 5);
assert.notDeepEqual(old, diceValuesArr);
} finally {
__restoreRandom();
__mocker.restore();
}
```
Each of your random numbers should be between 1 and 6 inclusive.
```js
__setRandom();
const __mocker = new __helpers.RandomMocker();
try {
__mocker.mock();
for (let i = 1; i < 20; i++) {
rollDiceBtn.click();
for (const val of diceValuesArr) {
@@ -48,7 +50,7 @@ try {
}
}
} finally {
__restoreRandom();
__mocker.restore();
}
```
@@ -62,30 +64,6 @@ assert.deepEqual(numbers, diceValuesArr);
# --seed--
## --before-user-code--
```js
const __oldRandom = Math.random;
const __createRandom = () => {
let seed = 42;
const a = 1664525;
const c = 1013904223;
const mod = 2**32;
return () => {
seed = (a * seed + c) % mod;
return seed / mod;
};
};
const __setRandom = () => {
Math.random = __createRandom();
};
const __restoreRandom = () => {
Math.random = __oldRandom;
};
```
## --seed-contents--
```html