Juste jeté un simple test, pas pour une raison particulière autre que je voudrais essayer d'avoir des tests pour tous mes méthodes, même si celui-ci est assez simple, ou alors j'ai pensé.
[TestMethod]
public void Test_GetToolRating()
{
var rating = GetToolRating(45.5, 0);
Assert.IsNotNull(rating);
}
private static ToolRating GetToolRating(double total, int numberOf)
{
var ratingNumber = 0.0;
try
{
var tot = total / numberOf;
ratingNumber = Math.Round(tot, 2);
}
catch (Exception ex)
{
var errorMessage = ex.Message;
//log error here
//var logger = new Logger();
//logger.Log(errorMessage);
}
return GetToolRatingLevel(ratingNumber);
}
Comme vous pouvez le voir dans la méthode d'essai, je SUIS de diviser par zéro. Le problème, c'est qu'elle ne génère pas une erreur. Voir l'erreur d'affichage de la fenêtre ci-dessous.
Au lieu d'une erreur c'est de donner une valeur de l'infini? Ce qui me manque?J'ai donc googlé et trouvé que les doubles divisé par zéro NE génère PAS une erreur, ils donnent une valeur null ou de l'infini. La question devient alors, comment fait un test pour une Infinité de valeur de retour?