Back to Freecodecamp

Test if a Value Falls within a Specific Range

curriculum/challenges/english/blocks/quality-assurance-and-testing-with-chai/587d824c367417b2b2512c4f.md

latest1.8 KB
Original Source

--description--

As a reminder, this project is being built upon the following starter project cloned from <a href="https://github.com/freeCodeCamp/boilerplate-mochachai/" target="_blank" rel="noopener noreferrer nofollow">GitHub</a>.

javascript
.approximately(actual, expected, delta, [message])

Asserts that the actual is equal to expected, to within a +/- delta range.

--instructions--

Within tests/1_unit-tests.js under the test labeled #10 in the Comparisons suite, change each assert to assert.approximately to make the test pass (should evaluate to true).

Choose the minimum range (3rd parameter) to make the test always pass. It should be less than 1.

--hints--

All tests should pass.

js
const response = await fetch(code + '/_api/get-tests?type=unit&n=9');
if (!response.ok) {
  throw Error(await response.text());
}
const data = await response.json();
assert.equal(data.state, 'passed');

You should choose the correct range for the first assertion - approximately(actual, expected, range).

js
const response = await fetch(code + '/_api/get-tests?type=unit&n=9');
if (!response.ok) {
  throw Error(await response.text());
}
const data = await response.json();
assert.equal(data.assertions[0].method, 'approximately');
assert.equal(
  data.assertions[0].args[2],
  0.5,
  "weirdNumbers(0.5) is in the range (0.5, 1.5]. It's within 1 +/- 0.5"
);

You should choose the correct range for the second assertion - approximately(actual, expected, range).

js
const response = await fetch(code + '/_api/get-tests?type=unit&n=9');
if (!response.ok) {
  throw Error(await response.text());
}
const data = await response.json();
assert.equal(data.assertions[1].method, 'approximately');
assert.equal(
  data.assertions[1].args[2],
  0.8,
  "weirdNumbers(0.2) is in the range (0.2, 1.2]. It's within 1 +/- 0.8"
);