mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-04-30 16:01:14 -04:00
refactor(curriculum): use RandomMocker from curriculum-helpers (#56324)
This commit is contained in:
committed by
GitHub
parent
0f5cb9d3cd
commit
a3e6a3516e
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user