diff --git a/tests/test_checker.py b/tests/test_checker.py index af6dfd0..b7f9f6a 100644 --- a/tests/test_checker.py +++ b/tests/test_checker.py @@ -37,3 +37,5 @@ def test_checker_floats(self): self.assertFalse(checker_floats(correct, output)) output = "1 or 0.4e-1" self.assertTrue(checker_floats(correct, output, eps = 0.01)) + # Check NaN + self.assertFalse(checker_floats("1", "nan")) diff --git a/tools/checkers.py b/tools/checkers.py index f2fc776..fe6b776 100644 --- a/tools/checkers.py +++ b/tools/checkers.py @@ -1,3 +1,5 @@ +from math import isnan + """Author: Andrey Malevich This module contains different checkers which are used to test outputs of programs. @@ -71,6 +73,8 @@ def checker_floats(correct, output, eps = 1e-6): try: #Otherwise we assume that they are floats first = float(first) second = float(second) + if isnan(first) or isnan(second): + return False if first > second + eps or second > first + eps: #In case they differ in # more than eps return False