Я пытаюсь протестировать научное c программное обеспечение, написанное на TypeScript, используя Jest.
Я хочу проверить все мои результаты с плавающей запятой до 8 значащих цифр, но, кажется, единственный метод тестирования, доступный в ts- jest, "toBeCloseTo", работает над сопоставлением цифр после десятичной точки в десятичной системе счисления.
https://jestjs.io/docs/en/expect#tobeclosetonumber -numdigits
Работает научное сообщество c и инженерное сообщество до значащих цифр, а не чисел после запятой. Я пропустил некоторые функции. Если нет, то есть ли план по его добавлению?
Между тем, у меня есть обходной путь, который будет работать только для чисел, где значащие цифры после десятичной точки в десятичной записи находятся в диапазоне значимые цифры требуются в научной нотации c.
test("MyFunction", () =>{
let sigAfterDecimal = SIG_FIG - Math.floor((Math.log(ExpectedResult)/Math.log(10)));
expect(IF97_B23T(functionInput)).toBeCloseTo(SigAfterDecimal, thisTestAccuracy);
});
Но для проверки это не сработает, например. константа Авогадро, 6.02214076 × 10 ^ 23–8 значащих цифр, поскольку ни одна из значимых значащих цифр не появляется после десятичной точки в десятичной записи.