Реализуйте функцию expect
с поддержкой метода toBeCloseTo
, который проверяет, что число приблизительно равно целевому числу.
Почему нельзя использовать .toBe? Попробуйте запустить код:
console.log(0.1 + 0.2 === 0.3);
Числа с плавающей точкой (не целые) хранятся в памяти приближенно. Это значит, что на практике мы можем проверить только то, что два числа достаточно близки друг к другу:
test('Проверяем работу оператора плюс', () => { expect(0.1 + 0.2).toBeCloseTo(0.3, 5); });
Метод toBeCloseTo
принимает два аргумента: обязательный number
и необязательный numDigits
— количество знаков после запятой, которые должны совпасть. По умолчанию numDigits
считаем равным 2.
Метод toBeCloseTo
ничего не возвращает в случае успешной проверки, но бросает произвольную ошибку в случае неудачи.
expect(0.12345).toBeCloseTo(0.12389, 3); // ok expect(0.12345).toBeCloseTo(0.12389, 4); // fail expect(0.12345).toBeCloseTo(0.12389); // ok
Авторские решения и подсказки ко всем задачам доступны без ограничений с подпиской MaxCode Pro