diff --git a/TODO.md b/TODO.md index df88988..a90c6e0 100644 --- a/TODO.md +++ b/TODO.md @@ -1,8 +1,6 @@ TODO for leancheck.py ===================== -* test functions in the order that they were declared - * add documentation to all functions * simplify code diff --git a/src/leancheck.py b/src/leancheck.py index a8a4cff..72b4111 100644 --- a/src/leancheck.py +++ b/src/leancheck.py @@ -274,7 +274,12 @@ def holds(prop, max_tests=360): def testmod(max_tests=360, silent=False, verbose=False): n_failures = 0 n_properties = 0 - for name, member in getmembers(sys.modules["__main__"]): + def lineno(m): + try: + return m[1].__code__.co_firstlineno + except AttributeError: + return -1 + for name, member in sorted(getmembers(sys.modules["__main__"]), key=lineno): if name.startswith("prop_") and callable(member): n_properties += 1 passed = check(member, max_tests=max_tests, silent=silent, verbose=verbose)