caolan / caolan/nodeunit

approx and deepApprox to safely compare numbers

Ouverte
#218 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
JavaScript
Étoiles
1.9k
Forks
359
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Testing equallity of numbers is a tricky business because of possible round of errors in floating point numbers. For example the following test will unexpectedly fail as the result of the left expression is `0.22000000000000003` and not `0.22`.

``` js
test.equal(2.2 / 10, 0.22);
```

It would be great to have functions like `approx` and `deepApprox` to safely compare numbers and objects/arrays containing numbers against each other. The function should compare whether the difference between the two numbers is at least a predefined factor epsilon smaller than the values itself (I guess there will be some edge cases when one of the values is zero, NaN, or Inf).

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par examiner l’API de comparaison existante de nodeunit basée sur assert. Définissez comment approx et deepApprox doivent comparer les nombres, les objets et les tableaux, y compris le comportement d’epsilon indiqué et les cas limites pour zéro, NaN et Infinity. La tâche est considérée comme terminée lorsque les fonctions et leurs comparaisons attendues sont spécifiées et couvertes par des tests.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript
Domaine
testing-qa
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.